当我进行小型单元测试时(从我的库中调用我的函数的小型 exe,或者调用嵌入在 main() 之前的一段代码,在 Linux 中似乎比在 msvc 中快 50 倍:
1) 在 Linux 中:
vi test1.c; cut-and-paste includes. cut-and-pase code. add int main(int argc, char **argv) { declare_data; call_my_function(); } :wq! cc test1.c && ./a.out done every step takes seconds. if not, helper scripts make it seconds.
2) 在 msvc 中:
create console project. until project creation is finished, it is already more time than whole (1). paste code. fiddle with project settings. try to pass argv. try to pass different argv.
似乎一切都比 Linux 慢 10 倍。
根据您的经验,在 msvc 中可以在几秒钟内真正快速地创建和完成多小的单元测试?
最佳答案
没有什么能阻止您从命令行编译和运行 MSVC 代码。实际的编译器是一个命令行工具,因此如果 IDE 妨碍您,请绕过它。您甚至可以找到 Vi 的 Windows 端口,并且您将拥有与在 Linux 上几乎完全相同的工作流程。
但是如果您选择使用专为处理大型代码库而设计的重型 IDE,那么是的,会有相当多的开销。
除非您编写一个 MSVC 插件来更快更轻松地执行这些操作。 (如果你这样做,请将其公开,因为我们很多人会发现它很有用。;))
关于c++ - 小单元测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6302630/