【发布时间】:2013-09-06 08:17:54
【问题描述】:
在编写与外部资源交互的代码时(例如使用 Web 服务或其他网络操作),我经常对类进行结构化,以便也可以使用文件或其他一些输入方法对其进行“存根”。因此,我最终使用存根实现来测试系统的其他部分,然后进行一两个专门测试调用 Web 服务的测试。
问题是我不想从 Jenkins 或当我为我的项目运行所有测试时调用这些外部服务(例如“gradle test”)。某些服务有副作用,或者可能并非所有开发人员都可以访问。
现在我只是取消注释然后重新注释这些特定测试方法上的 @Test 注释以启用和禁用它们。启用它,手动运行它来检查它,然后记得再次注释掉它。
// Uncomment to test external service manually
//@Test
public void testSomethingExternal() {
有没有更好的方法?
编辑: 对于手动单元测试,我使用 Eclipse 并且能够只需右键单击测试方法并执行 Run As -> JUnit 测试。但如果没有(未注释的)注释,这将不起作用。
【问题讨论】:
-
目前尚不清楚您是想要一个可以来回切换的单元测试的自动化“配置文件”,还是只是在开发过程中手动切换它们的更简洁的方式。
-
@chrylis 我最初试图做的是运行一个单独的测试。但是,为这些类型的测试制作单独的配置文件的想法可能是更好的方法。虽然我仍然希望能够单独运行一些测试(例如,在有副作用的情况下 - 我试图避免但有时是不可避免的)。
标签: java unit-testing junit