我猜标题可能有点混乱,希望解释后你能理解我的问题。
我想用java编写一个JUnit测试类。我在构造函数中创建了一个空列表。假设一个测试方法将一个元素添加到该列表中,如果该列表中有1个元素则返回true。如果列表为空,另一个测试方法只返回true。测试是否相互独立工作?
它取决于测试框架、版本和设置。
在JUnit 4中,一个类的单个实例用于运行该类中的所有测试。这意味着是的,测试记住了。
在JUnit 5中,默认情况下为每个测试创建一个新实例。这包括参数化测试——这就是(默认情况下)参数工厂方法需要是静态的原因,因为还没有实例提供参数。您可以使用TestInstance(Lifecycle.PER\u CLASS)将行为更改为再次对所有测试使用单个实例。
正如QBrute在评论中所说,测试应该独立工作。这意味着,如果测试类保持状态,则应重置该状态。JUnit 5在每个之前使用<代码>>,在每个之后使用<代码>>。最好在每次测试之前使用,因为状态重置失败不会导致另一次测试失败。
所以:
@BeforeEach
void initializeList() {
myList = new ArrayList<>();
// now every test has its own fresh list
}
一个项目将会自动生成测试运行。默认位置为: build/reports/androidTests 类似于 JUnit 的报告所在位置 build/reports/tests,其它的报告通常位于 build/reports/<plugin>/ 这个路径也可以通过以下方式自定义: android { ... testOptions { reportDir = "$
我总是问这个问题,但我找不到确切的答案: Docker平台独立吗? 我的意思是,当我在Windows中生成映像时,我能在Linux或macOS上运行该映像吗?或者当我在Ubuntu上生成映像时,我可以在Windows上运行该映像吗? 如果是,怎么做?如果不是,那么说docker映像可以在任何地方运行而不用担心任何依赖又有什么意义呢? 请帮我回答这个问题
问题内容: 我有一些通过 Runtime.getRuntime.exec(String) 运行命令的代码,它可以在Windows上运行。当我将代码移至Linux时,它崩溃了,并且解决该问题的唯一方法是切换到 exec(String []) 版本。如果我这样处理,代码在Windows和Linux上是否可以相同,还是应该在Windows上使用exec(String)而在Linux上使用exec(Str
排他性功能允许您通过附加到函数来仅运行指定的套件或测试用例.only()。这是仅执行特定套件的示例: describe('Array', function() { describe.only('#indexOf()', function() { // ... }); }); 注意:仍将执行所有嵌套套件。 以下是执行单个测试用例的示例: describe('Array', function()
我有使用Selenium独立服务器运行的PHPUnit端到端测试。我的测试扩展了PHPUnit_Extensions_Selenium2TestCase,我使用$this设置浏览器- 谢谢
本文向大家介绍你觉得单元测试可行吗相关面试题,主要包含被问及你觉得单元测试可行吗时的应答技巧和注意事项,需要的朋友参考一下 参考回答: 可行,单元测试可以有效地测试某个程序模块的行为,是未来重构代码的信心保证。事前可以保证质量,事后可以快速复现问题,并在修改代码后做回归自测。可行性考虑的是要用一些可行的方法做到关键的代码可测试,如通过边界条件、等价类划分、错误、因果,设计测试用例要覆盖常用的输入组