1

我使用谷歌应用引擎 Java。

在我的 Junit 测试中,我想引发异常 DatastoreTimeoutException 和 DatastoreFailureException。如何引发抛出异常?

4

2 回答 2

0

在 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
}
于 2012-08-02T14:11:51.660 回答
0

我不是很清楚。

当数据存储没有响应时,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");
    }
}
于 2012-08-08T08:14:33.740 回答