NUnit是否有内置的方法从另一个单元调用测试?

时间:2009-12-02 22:58:59

标签: nunit testing

我需要从一个不同的单位调用一个测试来在我当前的单位中使用(按单位我的意思是类)。 NUnit是否有基础设施来做这件事,或者我应该继续做我正在做的事情;实例化类并调用方法?

谢谢!

2 个答案:

答案 0 :(得分:2)

如果我理解正确,您在Class1中进行了单元测试,并且您希望在Class2中运行单元测试。目前,在Class1的测试中,您将实例化Class2并调用测试方法。你更喜欢Class1测试做'Nunit.RunTest(Class2.MyTest)'这样的事情

据我所知,NUnit无法做到这一点。如果您想在多个位置使用公共代码,最简单的方法是创建一个两个测试都可以调用的单独方法。缺点是您无法为这两者分享Setup和Teardown方法。

如果你需要为两个测试运行Setup和Teardown,Steve Gilham建议使用继承可能是一种更好的方法。

通常,您应该在代码更改时运行所有单元测试。每个测试都应该由它自己运行 - 你真的需要从另一个测试中调用一个测试吗?

答案 1 :(得分:0)

你能详细说明这里的用例是什么吗?

最明显的自动方法是继承。如果您当前的测试类是另一个测试类的子类,那么它的所有测试都将自动拉入。这对于测试对象层次结构非常有用,其中基类的单元测试类本身就是每个派生类的测试类的基类。