如何测试与机器或平台相关的功能或模块?例如,看/取决于$^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/