最佳实践 - 单元测试依赖项

时间:2014-10-27 22:06:02

标签: unit-testing junit

这是一个最佳实践问题。

我正在维护一个Web应用程序,它是另一个我无法访问其源代码的Web应用程序的代理。我的项目的功能是使其他服务器的API易于使用和移动友好。

我正在添加单元测试,我发现自己想要打破像Tests should be independent这样的标准最佳做法。

要测试login,我首先需要register。如果register失败,login将失败(或无意义。)处理此问题的最佳方法是什么?使用setUp函数注册然后失败login,因为缺少预期的用户?或者强制执行严格的测试排序并确保首先调用register

我倾向于倾向于使用setUp功能,但我很想知道社区的想法。

测试框架是JUnit,虽然我认为这个问题适用于其他框架。

1 个答案:

答案 0 :(得分:1)

您正在描述集成测试,而不是单元测试。单元测试模拟依赖关系并运用单个类。没有必要先注册,因为你嘲笑成功注册的结果(如果需要,取决于你的类设计)。

对于集成测试,是的,你会有一个复杂的设置。如果每次运行速度太慢,您可能会发现创建单个测试更容易,该测试执行多个测试,每个测试都依赖于之前的测试。