[解決済み] Kotlinで期待される例外をテストする
2022-08-27 08:26:49
質問
Javaでは、プログラマはJUnitのテストケースで予想される例外を次のように指定することができます。
@Test(expected = ArithmeticException.class)
public void omg()
{
int blackHole = 1 / 0;
}
Kotlinでこれを行うにはどうしたらよいでしょうか。私は2つの構文のバリエーションを試しましたが、どれもうまくいきませんでした。
import org.junit.Test
// ...
@Test(expected = ArithmeticException) fun omg()
Please specify constructor invocation;
classifier 'ArithmeticException' does not have a companion object
@Test(expected = ArithmeticException.class) fun omg()
name expected ^
^ expected ')'
どのように解決するのですか?
のJavaの例のKotlin翻訳が JUnit 4.12 です。
@Test(expected = ArithmeticException::class)
fun omg() {
val blackHole = 1 / 0
}
しかし
JUnit 4.13
導入
二
assertThrows
メソッドを導入しました。
@Test
fun omg() {
// ...
assertThrows(ArithmeticException::class.java) {
val blackHole = 1 / 0
}
// ...
}
どちらも
assertThrows
メソッドは、追加のアサーションに対して期待される例外を返します。
@Test
fun omg() {
// ...
val exception = assertThrows(ArithmeticException::class.java) {
val blackHole = 1 / 0
}
assertEquals("/ by zero", exception.message)
// ...
}
関連
-
[解決済み] 複数の例外を1行でキャッチする(ブロックを除く)
-
[解決済み] プライベートメソッド、フィールド、インナークラスを持つクラスをテストするにはどうすればよいですか?
-
[解決済み] 複数の例外を一度にキャッチする?
-
[解決済み] 最近のPythonでカスタム例外を宣言する適切な方法?
-
[解決済み] Pythonの関数が例外を投げるかどうかをテストするにはどうすればよいですか?
-
[解決済み] すべての例外をキャッチする `try`/`except` ブロックはどのように書けばよいですか?
-
[解決済み] 例外を正しく無視する方法
-
[解決済み] Kotlin 三項条件演算子
-
[解決済み】KotlinでJavaの静的メソッドに相当するものは何ですか?
-
[解決済み】典型的なテストディレクトリ構造でunittestを実行する
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] フェイク、モッキング、スタビングの違いとは?
-
[解決済み] ユニットテストの命名のベストプラクティス [終了しました]。
-
[解決済み] ユニットテストとインテグレーションテストの違いは何ですか?[重複あり]
-
[解決済み] プライベートメソッドをテストすべきか、パブリックメソッドのみをテストすべきか?[クローズド]
-
[解決済み] テスト駆動開発のデメリット?[クローズド]
-
[解決済み] Spring Dataのリポジトリをテストするには?
-
[解決済み] Unit Testsでランダムデータ?
-
[解決済み] Goでテストカバレッジを測定する方法
-
[解決済み] 既存のプロダクションプロジェクトにユニットテストをうまく追加することができますか?もしそうなら、どのように、そして、それは価値があるのでしょうか?
-
[解決済み] TDDとBDDの主な違いは何ですか?[クローズド]