我正在使用黄瓜进行集成测试。步骤定义使用一些辅助方法,因此我不必在所有测试中复制常用函数。结构如下 -
+---.idea
+---main
| +---java
| +---resources
\---test
| +---java
| | \---stepdefs
| | | |---ServiceHooks.java
| | | |---StepDefinitions.java
| | |---TestRunner.java
| | \---stepdefsHelpers
| | | |---ClientHelper
| \---resources
| \---features
| |---LoginProfile.feature
| |---UpdateProfile.feature
|---pom.xml
|---testng.xml
我的问题是:我不应该为了测试stepdefsHelpers而创建UT吗?因为我不希望有人弄乱帮助者,我的测试变得脆弱。
答案 0 :(得分:1)
任何类型的测试都需要平衡测试成本和收益。我对黄瓜(大约10年)的经验表明,测试辅助方法是成本超过收益的地方之一。
Helper方法代码往往非常流畅,当您了解有关应用程序的更多信息并获得测试基于现有行为的新行为的能力时,它会经常更改。这样的代码需要高度的关注,不断的重构,以及在使代码自我解释和控制辅助方法提供的API的大小和结构两者方面的大量纪律。这些事情比添加单元测试更重要。
总体而言,我认为单元测试可能适得其反。