软件工程第二次作业 - 用python unittest 模块进行单元测试

用python unittest 模块进行单元测试

环境

  • 语言: python 2.7

  • 集成开发环境: PyCharm 2017.3

  • 操作系统: Arch Linux 内核版本 4.15.10

测试项目

AmazonEdge 一个模仿AlphaGo实现的基于卷积神经网络,借助监督式学习的亚马逊棋AI,源码托管在GitHub

测试用例

import os
from AmazonEdge.training.supervised_policy_trainer import run_training
import unittest


class TestSupervisedPolicyTrainer(unittest.TestCase):
    def testTrain(self):
        model = 'tests/test_data/model.json'
        data = 'tests/test_data/hdf5/very_weak.hdf5'
        output = 'tests/test_data/.tmp.training/'
        args = [model, data, output, '--verbose', '--epochs', '1']
        run_training(args)

        os.remove(os.path.join(output, 'metadata.json'))
        os.remove(os.path.join(output, 'shuffle.npz'))
        os.remove(os.path.join(output, 'weights.00000.hdf5'))
        os.rmdir(output)


if __name__ == '__main__':
    unittest.main()

测试类TestSupervisedPolicyTrainerunittest.TestCase继承,测试方法为testTrain,是对training模块的run_training 方法进行测试。
指定测试用的模型为tests/test_data/路径下的model.json,测试用数据为 tests/test_data/hdf5/路径下的very_weak.hdf5文件,训练产生的权重文件输出到tests/test_data/.tmp.training/路径,训练批次epochs指定为1。

测试过程

AmazonEdge根目录下键入命令:

python -m tests.test_supervised_policy_trainer

得到结果:

表示测试通过。

posted @ 2018-03-21 12:27  linaria  阅读(207)  评论(0编辑  收藏  举报