2

JMockitでメソッドのローカル変数を検査することは可能ですか?

ソース

void foo(){
    boolean isPresent = false;
    /// ... something here sets isPresent
}

テスト

can I check the value of isPresent at the end of call of foo() using JMockit?
4

1 に答える 1

2

あいまいなモックメカニズムを実行しようとするのではなく。テストできるものにコードをリファクタリングしてみてください。

void foo(){
    boolean isPresent = isPresent();
}

boolean isPresent(){
   ....
}

また、これを考慮してください。変数の値がメソッドを決してエスケープせず、他の効果 (テスト可能であるべき) を引き起こさない場合、なぜそれをテストしようとするのでしょうか? または、なぜそこにあるのですか?メソッド スコープ変数の値が x であることをテストしても、値はありません。変数が x に値があるため、メソッドの結果が y であることをテストします。

于 2011-10-10T03:05:39.903 に答える