2017-02-07 12 views
0

JUnitの試験 - アサーションロジック

import java.util.StringTokenizer; 
import org.springframework.util.StringUtils; 
import junit.framework.TestCase; 


public class StringUtilsTestSuite extends TestCase { 

    public StringUtilsTestSuite(String name) { 
     super(name); 
    } 

    public void testCommaDelimitedListToStringArrayNullProducesEmptyArray(){ 
     String[] sa = StringUtils.commaDelimitedListToStringArray(null); 
     assertTrue("String array isn't null with null input", sa != null); 
     assertTrue("String array length == 0 with null input", sa.length == 0); 
    } 


} 

テストがエラーなしで実行されます。私の質問は、最初のアサーションが正常に渡された理由は、私は上記のコードの背後にあるロジックを理解することができませんでしたです:

String[] sa = StringUtils.commaDelimitedListToStringArray(null); 

答えて

1

StringUtils.commaDelimitedListToStringArray()がnullを返さないように実装されているが、null文字列が与えられたとき、それは空の配列を返します。

例:公式のStringUtilsのドキュメントから

if (str == null) { 
    return new String[0]; 
} 
0

スタート。 これがどのように実装されているかを知りたい場合は、grepcodeをお勧めします。