我如何做Perl机器或平台相关的TDD?

前端之家收集整理的这篇文章主要介绍了我如何做Perl机器或平台相关的TDD?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
如何测试依赖于机器或平台的功能或模块?例如,看/依赖于$^ 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相关文章