我正在编写一个在 Linux 中作为后台服务运行的程序。我正在用 C++ 编写它并使用 glibmm 进行事件循环。
该程序将拥有的唯一用户界面是 D-Bus 服务。
我想用谷歌测试为它写一些测试。我的计划是在程序本身实例化 D-Bus 服务的同时,测试代码还将实例化 D-Bus 客户端并通过 D-Bus 调用在程序中启动操作。
我想到的测试用例大多类似于“调用 D-Bus 方法并使用断言来查看使用某些参数调用某个方法”。测试的一个重要结果也是简单地看到测试不会崩溃。
我可以看到有关如何编写程序和测试的严格选项。例如,理论上,可以在 main() 中创建一次事件循环,或者在每个测试用例中单独创建事件循环。如果它只创建一次,理论上它仍然可以在每个测试用例中连续运行或启动和停止。我尝试用谷歌搜索示例,但只找到了使用 Qt 而不是 Glib 的东西。我不知道这是否会产生重大影响。
对于这样的案例,是否有任何现有的智慧?什么值得尝试,什么不值得尝试?还是我打算将谷歌测试用于它不适合的东西?