我正在为一个API编写一个PHPUnit测试用例(所以不完全是一个单元测试)而且我正在考虑进行所有其他测试都依赖的测试。
测试用例中的测试会产生API请求。大多数这些请求都需要用户。有问题的测试将创建其他测试将使用的用户。
这会是一个可怕的想法吗?
答案 0 :(得分:3)
我认为单元测试的最佳方法是首先消除依赖关系。
您可以使用自己的本地版本抽象端点,这将返回可预测的结果。这样您就可以测试您的请求是否正确。
您可以使用存根来抽象数据提供者(数据库,文件站点等),这些存根也将返回可预测的数据(用户名等)。
之后,您只需测试您的请求,看看它们是否正确。
第二部分是通过不同的测试对数据提供者进行实际测试,以便您知道将提供良好的用户名。
然后你可以测试API连接等。
EDIT。如果您的代码中存在依赖关系,并且很难抽象提供程序或端点Web服务,则可能需要调整代码以使其接受对这些对象的引用作为参数。在测试中,您可以更改使用自己的存根对象传递的对象。在生产中,您传递了正确的引用,因此您无需更改代码进行测试。
我希望我已经清楚了。如果没有,请问我,我可以更好地解释,也许我不明白你的问题