2013-07-26 81 views
0

我正在使用phpunit进行单元测试。在一些测试类中,我需要执行在另一个测试类中已经实现的相同测试。从测试类B的方法调用测试类A的方法

那么有可能调用另一个测试类的测试方法吗?

+0

可能你应该将函数提取到帮助类? – henrik

回答

0

你可以调用另一个类的测试方法。您可以在测试中创建测试类的实例,然后调用该方法。

但是,仅仅因为你可以做点什么并不意味着你应该做点什么。

您所描述的用例听起来像是具有重复的功能。你应该重新考虑你的设计,这样你就不需要做你所描述的事情。你的测试应该是相当容易遵循的小功能。如果您正在接触其他测试课程,您的测试可能变得难以维护,变得脆弱并且难以理解。

+0

是的,有重复的测试。情景是,为了执行某些操作,我调用A类的方法,然后将该工作委托给B类的方法,并在收到响应时修改结果并传回给我。这就是为什么这两种方法的测试方法可能相同,我需要从另一个类中调用测试方法。 – Geek

+0

您不需要重复测试。研究Mock对象,并创建一个模拟B类的方法来测试类A,而不是尝试调用另一个测试。 http://phpunit.de/manual/current/en/phpunit-book.html#test-doubles.mock-objects – Schleis