Testing 在测试中重复使用测试假应用程序?
是否有任何方法可以阻止actor系统在测试之间关闭和启动? 我不断收到akka例外情况的投诉,抱怨演员系统出现故障。 我可以通过mock/stub来摆脱对假冒应用程序的依赖,但这需要一些工作——希望能够启动一个静态测试应用程序,并在应用程序中运行不同的东西 我有一个像这样糟糕的测试-我能在测试之间以某种方式重新使用正在运行的应用程序吗?它似乎仍然关闭了沿线的某个地方Testing 在测试中重复使用测试假应用程序?,testing,playframework,Testing,Playframework,是否有任何方法可以阻止actor系统在测试之间关闭和启动? 我不断收到akka例外情况的投诉,抱怨演员系统出现故障。 我可以通过mock/stub来摆脱对假冒应用程序的依赖,但这需要一些工作——希望能够启动一个静态测试应用程序,并在应用程序中运行不同的东西 我有一个像这样糟糕的测试-我能在测试之间以某种方式重新使用正在运行的应用程序吗?它似乎仍然关闭了沿线的某个地方 running(Fixtures.testSvr, HTMLUNIT, browser -> new JavaTestKit
running(Fixtures.testSvr, HTMLUNIT, browser -> new JavaTestKit(system) {{
F.Promise<TestResponseObject> resultPromise = client.makeRequest("request", "parameterObject", system.dispatcher());
boolean gotUnmarshallingException = false;
try {
Await.result(resultPromise.wrapped(), TotesTestFixtures.timeout.duration());
} catch (Exception e) {
if ((e instanceof exceptions.UnmarshallingException)) {
gotUnmarshallingException = true;
}
}
if(gotUnmarshallingException == false) fail();
}});
您可以尝试摆脱正在运行的方法,它会在最后停止testserver并自己初始化testserver,但我不知道Akka是否对您可用:
@BeforeClass
public static void start() {
testServer = testServer(PORT, fakeApplication(inMemoryDatabase()));
testServer.start();
// Maybe you dont ned this...
try {
testbrowser = new TestBrowser(HTMLUNIT, "http://localhost:" + PORT);
} catch (Exception e) {
}
}
@Test
public void testOne() {
new JavaTestKit() {
// (...)
}
}
@AfterClass
public static void stop() {
testServer.stop();
}
这就是我最后做的。忘了我打开了这个问题。我启动了服务器。相同的差异: