c++ - 小单元测试

标签 c++ c linux unit-testing visual-c++

当我进行小型单元测试时(从我的库中调用我的函数的小型 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/

相关文章:

c++ - 在 OpenFrameworks Xcode OSX 项目中使用 OpenCV C++ 命令

c# - 如何指定 createfilew 函数获取未缓存的结果?

embedded - 如何通过在同一位置映射两个变量来重用物理内存?

c - 高效计算 2 的幂

linux - 需要一种更好的方法将 JAVA_HOME 附加到 csh 中的 PATH

c - 程序以奇怪的顺序执行

c++ - 为什么 string==string 比较失败?

c++ - Embarcadero TThread : Pass TThreadMethod in C++

c - c如何处理不同范围内的相同变量名?

linux - find/grep 命令显示文件名和 java 包