こんにちは私はEclipse Lunaを使用しています.Junitでunittestを作成しようとしました。私はメソッドに値(null)を与えたいので、例外がスローされるはずです。メソッドはコンストラクタであり、クラスにはメインがあります。私は間違って何をしていますか?通常、私はこのPackage.class.MethodNameようなメソッド(パラメータパラメータ)JavaのJunitテストでコンストラクタを呼び出す方法は?
Testクラスを呼び出すことができます。
public class WebUntisProviderTest {
public static URL url = null;
@Test(expected = IllegalArgumentException.class)
public void WebUntisProvider() {
final URL url = null;
WebUntisProvider prov = new WebUntisProvider(url);
assertNotNull("object was null" , prov.WebUntisProvider(url));
fail("url must not be null.");
}
}
テストクラス:あなたがnew
を行う際
public class WebUntisProvider {
private URL url;
public static void main(String[] args) throws MalformedURLException {
URL test = new URL("HTTP://google.com");
System.out.println(test.getProtocol());
}
public WebUntisProvider(URL url) {
if (url == null)
throw new IllegalArgumentException("url must not be null.");
if (!url.getProtocol().equals("http") && !url.getProtocol().equals("https"))
throw new IllegalArgumentException("url protocol must be http or https.");
this.url = url;
}
}
ありがとうございます。この行を削除していただきありがとうございます。 – Cherub
新しいテストです。 @Test(期待= IllegalArgumentException.class、タイムアウト= 10) \t公共ボイドWebUntisProvider(){ \t \t最終的なURLのURL = NULL; \t WebUntisProvider prov =新しいWebUntisProvider(URL)。 \t \t assertNotNull(prov); – Cherub