我使用谷歌应用引擎 Java。
在我的 Junit 测试中,我想引发异常 DatastoreTimeoutException 和 DatastoreFailureException。如何引发抛出异常?
我使用谷歌应用引擎 Java。
在我的 Junit 测试中,我想引发异常 DatastoreTimeoutException 和 DatastoreFailureException。如何引发抛出异常?
在 JUnit 测试中,您可以抛出任何允许构造的异常。只要确保将您的测试标记为抛出该异常(或者,通常情况下,声明它可以抛出任何异常)。
例如
@Test
public void testSomething() throws Exception {
throw new WhateverYouFancy("Hello, world!");
}
或者,如果您想检查是否引发了特定异常(即因为这表明测试成功),您可以执行以下操作:
@Test(expected=FancyException.class)
public void testSomething() throws Exception {
// do something that ought to trigger a FancyException
}
我不是很清楚。
当数据存储没有响应时,Google Appengine 服务器会生成 DatastoreTimeoutException,当数据存储抛出未知异常时,也会生成 DatastoreFailureException。
在我的 Junit 测试中,我希望服务器抛出这些异常。就像使用服务器的功能一样https://developers.google.com/appengine/docs/java/capabilities/overview
我想这样写,以检查我是否捕获了这些异常:
@Test
public final void testDatastoreFailureException() {
// config the datastore in order to throw the exception
try {
// do something using the datastore.
} catch ( DatastoreFailureException e ) {
fail("We do not catch the exception DatastoreFailureException");
}
}