使用nose进行Python单元测试:进行顺序测试

我正在学习如何进行单元测试.我在使用Python / nose / Wing IDE.

(我正在编写测试的The project是一个模拟框架,除此之外它还允许你同步和异步地运行模拟,并且两者的模拟结果应该是相同的.)

问题是,我希望我的一些测试能够使用在其他测试中创建的模拟结果.例如,synchronous_test在同步模式下计算某个模拟,但后来我想在异步模式下计算它,并检查结果是否相同.

我该如何构建这个?我是将它们全部放在一个测试函数中,还是单独进行异步测试?我是否将这些对象从一个测试函数传递给另一个?

另外,请记住,所有这些测试都将通过测试生成器运行,因此我可以对我的程序中包含的每个模拟包进行测试.

解决方法:

您可以将每个类需要计算一次的测试添加到该类的“设置”中.举个例子:

from nose.tools import *
class Test_mysim():
    def setup(self):
        self.ans = calculate_it_once()

    def test_sync(self):
        ans=calculate_it_sync()
        assert_equal(ans,self.ans)

    def test_async(self):
        ans=calculate_it_async()
        assert_equal(ans,self.ans)
上一篇:在Python包上使用Nose&NoseXUnit


下一篇:如何在python中有条件地跳过测试