を変更した場合、どのようにユニットテストの私はC++でこのクラスを持っているとしましょう:プライベート変数が
class ExampleClass{
private:
int example_var;
public:
void exampleMethod(){
example_var = other_value; // other value will be always different
}
}
をどのようにすることができますIユニットテストexampleMethod()
?
void testExampleMethod(){
ExampleClass obj;
int before_call_value = obj.example_var;
obj.exampleMethod();
int after_call_value = obj.example_var;
ASSERT_NOT_EQUALS(before_call_value, after_call_value);
}
しかしexample_var
プライベートです:私はこのような何かをしたいと思います。
このユニットテストを行う正しい方法は何ですか?プライベートexample_var
が変更された場合はどうすればテストできますか?
'example_var'に対して' get'関数を実装していますか? –
ユニットテストでは本当に主観的ですか?パブリックインターフェイスの動作?私は、ホワイトボックステストがその努力に値するとは確信していません。 – user0042
By変数の変更、ユニットテスターとの友人関係の変更、または好みの順にゲッターを追加することで観察可能な振る舞いをテストします。 – user4581301