mardi 15 août 2017

How to unit test if a private variable has changed

Let's say that I have this class in C++:

class ExampleClass{
private:
    int example_var;
public:
    void exampleMethod(){
         example_var = other_value; // other value will be always different
    }
}

How can I unit test exampleMethod()? I would like to do something like this:

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);
}

But example_var is private.

So, what is the right way to do this unit test? How can I test if a private example_var has changed?

Aucun commentaire:

Enregistrer un commentaire