如何测试依赖于机器或平台的功能或模块?例如,查看/依赖于 $^O
的东西或像 Net::Ifconfig::Wrapper 这样的模块?我不需要测试 Net::Ifconfig::Wrapper 是否返回正确的值,但我确实需要测试我是否使用这些值做正确的事情。
谢谢!
编辑:测试 $^O
结果比我想象的要容易:
{
# <~> $ perl -e 'print $^O'
# linux
local $^O = 'linux';
$rc = GetOSType();
is($rc, $OS_LINUX, 'OS Check - linux');
}
出于某种原因,我认为它是一个只读变量。
最佳答案
跟进 Jason 的 mock objects建议,你应该看看文章"Interfacing with hard-to-test third party controls" by Misko Hevery .它直接解决了测试第三方组件的问题。
关于perl - 如何进行 Perl 机器或平台相关的 TDD?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/470711/