相关疑难解决方法(0)

JUnit测试抛出异常的错误形式?

我对JUnit很陌生,我真的不知道异常和异常处理的最佳实践.

例如,假设我正在为IPAddress类编写测试.它有一个构造函数IPAddress(String addr),如果addr为null,它将抛出InvalidIPAddressException.据我在google搜索时可以看出,null参数的测试将如下所示.

@Test
public void testNullParameter()
{
    try
    {
        IPAddress addr = new IPAddress(null);
        assertTrue(addr.getOctets() == null);
    }
    catch(InvalidIPAddressException e)
    {
        return;
    }

    fail("InvalidIPAddressException not thrown.");
}
Run Code Online (Sandbox Code Playgroud)

在这种情况下,try/catch是有意义的,因为我知道异常即将到来.

但是现在如果我想编写testValidIPAddress(),有几种方法可以做到:

方式#1:

@Test
public void testValidIPAddress() throws InvalidIPAddressException
{
    IPAddress addr = new IPAddress("127.0.0.1");
    byte[] octets = addr.getOctets();

    assertTrue(octets[0] == 127);
    assertTrue(octets[1] == 0);
    assertTrue(octets[2] == 0);
    assertTrue(octets[3] == 1);
}
Run Code Online (Sandbox Code Playgroud)

方式#2:

@Test
public void testValidIPAddress()
{
    try
    {
        IPAddress addr = new IPAddress("127.0.0.1");
        byte[] octets = addr.getOctets();

        assertTrue(octets[0] == 127); …
Run Code Online (Sandbox Code Playgroud)

java testing junit unit-testing

56
推荐指数
3
解决办法
5万
查看次数

标签 统计

java ×1

junit ×1

testing ×1

unit-testing ×1