Tag: 测试

PowerMock:如何取消模拟方法?

我有一个静态方法,使用PowerMock模拟抛出exception。 (它删除文件。)不幸的是,在我的@After (每次测试后)方法中,我需要在没有模拟的情况下调用此方法。 我该如何摆弄方法? 我没有看到Mockito.reset()的等价物。 [参考: mockito:如何取消模拟方法? ] 例: @RunWith(PowerMockRunner.class) @PrepareForTest(PathUtils.class) // Important: This class has a static method we want to mock. public class CleaningServiceImplTest2 extends TestBase { public static final File testDirPath = new File(CleaningServiceImplTest2.class.getSimpleName()); @BeforeClass public static void beforeAllTests() throws PathException { recursiveDeleteDirectory(testDirPath); } @AfterClass public static void afterAllTests() throws PathException { […]

即使测试失败,Gradle也会在测试阶段后执行任务

我正在使用gradle作为我的建设者。 运行我的所有测试后,我想执行其他任务。 如果没有测试失败 test.doLast { /*my task*/ } 工作良好。 但如果至少有一个测试失败,我的任务就不会执行。 即使我的某些测试失败,有没有办法执行我的任务。

ProcessBuilder – 启动另一个进程/ JVM – HowTo?

我正在编写一个网络应用程序,其中每个客户端都有一个Singleton ClientManager。 为了测试 ,我想创建几个客户端(每个客户端都在自己的VM /进程中),而不是手动启动程序n次。 有关stackoverflow的以下两个问题已经描述了如何做到这一点: 这真的是从Java代码启动第二个JVM的最佳方法吗? Java:在单独的进程中执行Java应用程序 我的代码基于这些,但它不起作用: 调用spawn后,主程序不会继续。 生成的代码不会被执行。 这是使用ProcessBuilder的完整代码: public class NewVM { static class HelloWorld2 { public static void main(String[] args) { System.out.println(“Hello World”); System.err.println(“Hello World 2”); } } public static void main(String[] args) throws Exception { startSecondJVM(HelloWorld2.class, true); startSecondJVM(HelloWorld2.class, false); System.out.println(“Main”); } public static void startSecondJVM(Class clazz, boolean redirectStream) throws […]

如何对Java程序进行变异测试?

任何人都可以提供可用于在源代码(非字节码)级别的Java程序中进行突变的工具的建议吗? 我需要为我的源代码添加错误。 我更喜欢带有GUI的应用程序,如果存在的话。

如何开始测试(jMock)

我正在努力学习如何编写测试。 我也在学习Java,有人告诉我应该学习/使用/练习jMock,我在网上发现了一些有助于某些扩展的文章: http://www.theserverside.com/news/1365050/Using-JMock-in-Test-Driven-Development http://jeantessier.com/SoftwareEngineering/Mocking.html#jMock 我发现的大多数文章都是关于测试驱动的开发,首先编写测试然后编写代码以使测试通过。 我现在不是在寻找,我正在尝试使用jMock为现有代码编写测试。 对于我来说, 官方文档是模糊的,至少可以说是太难了。 有没有人有更好的方法来学习这个。 好书/链接/教程对我很有帮助。 谢谢 编辑 – 更具体的问题: http://jeantessier.com/SoftwareEngineering/Mocking.html#jMock – 来自这篇文章 试过这个来模拟这个简单的类: import java.util.Map; public class Cache { private Map underlyingStorage; public Cache(Map underlyingStorage) { this.underlyingStorage = underlyingStorage; } public String get(int key) { return underlyingStorage.get(key); } public void add(int key, String value) { underlyingStorage.put(key, value); } public void […]

使用Selenium WebDriver Java绑定清除浏览器Cookie

有没有人知道在开始自动化之前是否可以为WebDriver清除浏览器Cookie? (注:不是Selenium RC)

为什么EclEmma没有带有@RunWith测试的覆盖代码(PowerMockRunner.class)

我正在使用EclEmma和Eclipse来帮助我知道我的项目中缺少代码测试的地方,但所有使用@RunWith(PowerMockRunner.class)测试都没有被调用,因此没有经过测试。 我正在使用JUnit 4.8.1和Mockito。 会是什么呢?

Mockito:如何validation一个方法只被调用一次,确切的参数忽略了对其他方法的调用?

在Java中使用Mockito如何validation方法只调用一次精确参数忽略对其他方法的调用? 示例代码: public class MockitoTest { interface Foo { void add(String str); void clear(); } @Test public void testAddWasCalledOnceWith1IgnoringAllOtherInvocations() throws Exception { // given Foo foo = Mockito.mock(Foo.class); // when foo.add(“1”); // call to verify foo.add(“2”); // !!! don’t allow any other calls to add() foo.clear(); // calls to other methods should be ignored // […]

Mockito:如何使用getter setter

我对Mockito来说是个新手,我想知道如何将一个get / set对存根。 例如 public interface Dummy { public String getString(); public void setString(String string); } 我怎样才能使它们正常运行:如果在测试的某个地方我调用了setString(“something”); 我想让getString()返回“something”。 这是可行的还是有更好的方法来处理这种情况?

使用JMeter中值列表中的请求值

我相信我过去已经做过这件事,但不知怎的,我无法弄清楚如何;-)所以,这是我的问题: 我正在尝试创建一个JUnit测试计划,其中每次迭代都会通过更改特定参数来修改HTTP请求。 因此,例如在五次迭代中,我希望进行以下HTTP请求: http://localhost:8080/test/foo.html?id=1 http://localhost:8080/test/foo.html?id=2 http://localhost:8080/test/foo.html?id=3 http://localhost:8080/test/foo.html?id=4 … 我想为测试计划全局配置标识符值,并在HTTP请求采样器中使用它们,如下所示: Path: /test/foo.html?id=${categoryId} 现在的问题是:如何全局配置标识符值(我不想使用StringFromFile )以及如何在采样器中引用它们?