[英]Junit Automation test with some tests requires many different inputs
我对Junit还是很陌生,我目前正在尝试测试一些与具有多个复选框和几个文本字段的简单UI相对应的API。
我现在想到的是编写具有以下结构的内容:
testButtonOne()
testButtonTwo()
。 。 。
testButtonTen()
testCheckboxOne()具有许多输入,例如空格,无效字符,非常长的字符串等
testCheckboxTwo()具有许多输入,例如空格,无效字符,非常长的字符串等
我尝试将测试写在两个文件中,一个是单次运行,一个是参数化运行,但是问题是我必须两次编写@BeforeClass @Before @After,所以我想知道哪种更好的书写方式像这样测试。
您应该使用https://github.com/junit-team/junit4/wiki/parameterized-tests
或者更好,我认为您应该看看https://github.com/pholser/junit-quickcheck
使用junit-quickcheck的示例项目请参见以下示例github项目https://github.com/bfayette/lottery/blob/master/src/test/java/com/silanis/lottery/PrizeCalculatorTest.java
您可以在此处查看: 使用JUnit测试GUI
主要思想是,最好将GUI与业务逻辑和其他层分离。 这样,GUI层将仅包含GUI特定的代码,因此测试将变得更加容易,并且其价值将降低。 这样,您可以在GUI类中模拟您的服务,并仅验证,例如,如果您在EditBox中输入一些文本,则其值将作为特定服务调用的参数(在这种情况下,我认为您不需要(编写参数化的单元测试),然后可以分别测试服务层。 您可以拥有验证服务,也可以分别对其进行测试。 使用这种方法测试通常会变得更干净,更具体,而不是那么广泛,这就是单元测试背后的想法。
如果您仍然需要参数化的单元测试来测试GUI,则可以将参数化和非参数化测试按一个测试类的嵌套类分组,如下所示: https : //stackoverflow.com/a/28203229/9329760
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.