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

10-11 22:04
查看更多