6
有没有一种很好的方法来使用OpenGL命令对函数或类进行单元测试?OpenGL如何进行单元测试?
对于C++,我知道我可以做类模板,并通过一类做直接的OpenGL调用:
namespace myNamespace
{
struct RealOpenglCall
{
static inline void glVertex2fv(const GLfloat * v)
{ ::glVertex2fv(v); }
};
template< typename T >
class SomeRendering
{
public:
SomeRendering() : v()
{
// set v
}
void Draw()
{
T::glVertex2fv(v);
}
GLfloat v[4];
};
}
在C和C++中,我可以通过函数指针调用OpenGL函数的函数(然后单元测试传递指向模拟函数的指针)。
我也可以链接不同的库(而不是opengl),但这听起来像一个很大的复杂。
那么,有什么其他技术来调用opengl函数的单元测试代码?
您可以使用单元测试数据并使模拟函数转储该数据以进行比较,如果它与预期输出匹配则传递单元测试。 – datenwolf 2011-03-11 09:38:52
绝对。 :-) – 2011-03-11 09:42:58
@datenwolf然后它不是一个单元测试,因为它需要读取磁盘并访问真实数据。这会减慢单元测试 – 2011-03-11 13:43:48