testing - junit 套件测试,分阶段 : All @Before, 然后所有 @Test,然后所有 @After

标签 testing junit system-testing

我想要一个执行所有@Before 方法、然后是所有@Test 方法、然后是所有@After 方法的 junit 运行程序。

这就是我的系统测试的工作方式。运行@Before 方法,以设置测试数据和场景。应用程序启动。然后 @Test 方法与在后台运行的应用程序一起运行。这些@Test 方法可以更改数据或响应应用程序。然后框架等待应用程序完成。然后,运行@After 方法来验证测试结果。

我已经使用了 junit 注释、断言方法和其他各种位。但我就是想不通如何使用 junits runners 以这种方式执行测试方法。我无法理解 junit 4.8 中的“计算机”界面,也无法弄清楚如何对此应用规则。

最佳答案

这不是 JUnit 所做的。 JUnit 的设计理念强调独立的单元测试。因此,它不是系统测试的自然框架。您想要做的事情非常适合 TestNG(作为设计目标,它试图跨越单元测试和系统测试)。

在 JUnit 中,@Before 和@After 在每个 测试之前和之后运行。您可以使用 Suite 将这种东西硬塞进 JUnit,它引用您的所有测试并负责所有设置和拆卸,因此 Suite 的 @BeforeClass 和 @AfterClass 方法在套件之前和之后运行,如果您组织它正确可能是您所有的系统测试。

当代码使用 JUnit 方法变大时,代码会面临很多组织挑战,因此如果这是您想要做的大部分工作,我建议您考虑使用替代框架。

关于testing - junit 套件测试,分阶段 : All @Before, 然后所有 @Test,然后所有 @After,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3520099/

相关文章:

android - 在 SVN 中添加一个 android 测试项目到当前的 android 项目

c++ - 测试程序的架构/设计建议

java - 忽略 Junit5 中的测试

java - saveCSV 的 JUnit 测试

c# - 系统测试与验收测试 - 测试用例的差异

oracle - FKs全层级自动生成oracle数据库数据

java - 在 maven 测试运行中执行时,使用 Spring 注释进行测试会导致 ClosedByInterruptException

java - Sonarqube 不接受我的测试,但它在我的 Eclipse 中工作

testing - 如何在不需要打开浏览器的情况下运行 Selenium 系统测试?

ruby-on-rails - 功能规范和系统规范之间的区别