gpt4 book ai didi

c++ - 在练习 TDD(单元测试)的同时学习 OpenGL

转载 作者:IT老高 更新时间:2023-10-28 21:47:35 26 4
gpt4 key购买 nike

我开始了一个新的游戏项目,并决定为此学习和使用 OpenGL(项目正在 Windows 和 Linux 上同时开发)。同时,我对测试驱动开发也很感兴趣,并且正在尽最大努力编写单元测试,以便在任何实际代码之前引导设计。

但是,我认为我缺乏知识可能会绊倒我,我在尝试为代码库的“渲染”部分编写单元测试时一直碰壁。我希望有人能给我一些关于如何继续的见解。

我知道我需要对与 OpenGL 的交互进行单元测试,而不是 OpenGL 本身。我能看到的唯一方法是在某种程度上将 OpenGL 从我的其余代码中抽象出来,或者通过拦截 OpenGL 函数调用,或者通过创建一个全新的类接口(interface),允许我创建该类的模拟版本用于测试。 (更好的办法是将它们抽象为单独命名空间中的一组非类函数,而不是虚拟类抽象,但我不知道如何模拟它。)

但是,由于我仍在学习 OpenGL,我对抽象应该是什么样子只有一个初步的想法。例如,我应该包装每个 OpenGL 调用,还是根据要完成的任务将它们分组到更高级别的函数中?瘦包装器只会调用一个特定的 OpenGL 函数,所以我不需要事先测试它们,但我最终可能会得到大量要包装的函数。再说一次,如果我走得太远,并按任务将多个 OpenGL 调用组合在一起,我觉得我最终会回到我开始的地方,使用 OpenGL 的大量代码本身需要在使用前进行测试。

中间立场在哪里?如何在学习使用 OpenGL 的同时预先进行适当的单元测试?

最佳答案

正确地测试渲染是不值得的。但是,在设计应用程序时,您仍然可以将 TDD 用于其他所有事情。

Here's a great article关于 TDD、游戏和 OpenGL。

关于c++ - 在练习 TDD(单元测试)的同时学习 OpenGL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3221451/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com