在编写与外部资源交互的代码(例如使用 Web 服务或其他网络操作)时,我经常对类进行结构化,以便也可以使用文件或其他一些输入方法对其进行“存根”。因此,我最终使用存根实现来测试系统的其他部分,然后进行一两个专门测试调用 Web 服务的测试。
问题是我不想从 Jenkins 或当我为我的项目运行所有测试(例如“gradle test”)时调用这些外部服务。某些服务有副作用,或者可能并非所有开发人员都可以访问。
现在我只是取消注释然后重新注释这些特定测试方法上的 @Test 注释以启用和禁用它们。启用它,手动运行它来检查它,然后记得再次注释掉它。
// Uncomment to test external service manually
//@Test
public void testSomethingExternal() {
有没有更好的方法来做到这一点?
编辑:对于手动单元测试,我使用 Eclipse,只需右键单击测试方法并执行 Run As -> JUnit 测试。但如果没有(未注释的)注释,这将不起作用。