我目前正在研究一个使用另一个只有静态函数的类的类。
一切正常,直到我尝试测试我的课程。
这是该问题的简单代码示例:
class A {
static String getSometing() {
return String("Something: ") + heavyCalculation().asString();
}
}
class B {
B() {}
~B() {}
String runSomething(const String& name) {
if(name.equals("something")) {
return A::getSomething();
} else {
return "Invalid name!";
}
}
}
假设 A 类工作正常(并且已通过其单元测试进行测试),我想检查 B 类中的runSomething函数。
我的第一个选择是为内部类创建模拟(在这个示例中 - 类 A),但在这种情况下,它不会给我任何从 A 继承的东西,因为它只有静态函数。
我的第二个选择是将 A 类的调用封装在 B 内部的私有函数中,这样我就可以控制它们的返回值(尽管选择这个选项会使好的有点复杂)。
我的问题是:有没有比我当前的选项更好的方法来测试依赖于静态类/函数的 C++ 类?
提前致谢,
塔尔。