如何管理项目中的非单元测试?


9

我在我的项目中亲自调用tests了一些不是单元测试的代码。它们旨在运行,并且结果必须由人工评估。我这样做是因为我正在制造物理引擎,并且在开发过程中,我需要查看自己在做什么。所以我simulation在测试模块中做了一个包装。从技术上讲,这是单元测试,因为模拟使用的是单元测试库,但我并不是要像实际的单元测试一样运行它们。

我想做的是将那些特殊测试与单元测试区分开来,因为我想轻松地运行所有单元测试。我认为这有点像功能测试。您是否遇到过必须为功能测试准备应用程序的情况?功能测试准备(基本上是我的模拟测试)应该放在项目中的什么位置,以及如何将它们与单元测试区分开来?

我在Java中,因此我可以将所有方法签名从更改为@Test public void myNamedTest()public static void main(String[] args)但是使用仿真对我来说既费力又不实用。

junit在一个gradle项目中使用。gradle欢迎使用创建特殊测试文件夹的任何解决方案。


2
我想你在谈论的是一个试验台,您可以运行特设测试。据我所知,它们已经存在了30多年,甚至可能在此之前。他们通常位于一个单独的项目中,该项目可以访问该库或其他任何库,但是您可以根据需要构建它。
罗比·迪

3
术语“单元/集成/功能测试”描述了测试范围:正在测试的内容。这与这些测试的运行方式完全独立,例如手动测试与自动测试。可以有自动验收测试和手动单元测试,以及介于两者之间的任何内容。因此,如果您使用JUnit运行手动功能测试,那就很好了–只需将它们与自动测试以某种方式分开,以使它们在默认情况下不会运行。
amon

Answers:


10

看起来更高版本的Junit支持测试类别。这些对于分类每个测试很有用。然后,当构建自动化运行时,它可以根据类别包括或排除那些测试。

是否要将这些测试混合到单元测试中,取决于组织的偏好。可能需要创建一个单独的“测试装备”项目,以将常规单元测试与更专业的单元测试分开。

https://dzone.com/articles/closer-look-junit-categories

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.