【发布时间】:2023-03-22 02:06:01
【问题描述】:
我的模块有一堆单元测试,我发现我将相同的模拟和设置代码从一个复制到另一个。我怎样才能干掉它并重用模拟代码?
我把这个简单的模拟对象放在我的测试旁边:
package MockObject;
1;
如果我在测试用例中只说use MockObject;,make test 找不到MockObject。说得通;毕竟,它没有安装在系统范围内,也不在被测模块旁边。
我可以使用prove -I lib -I t t/*.t 运行我的测试,但我想保留make test,如果只是为了懒惰少输入几个字符。
由于模拟对象不是一个完整的模块,也不应该被正式安装,我不能也不想在 Makefile.PL 中设置TEST_REQUIRES。
将 test => { FILES => 't/*.t', INC => 't/' } 添加到 Makefile.PL 没有帮助。
我如何(简单地)将 Perl 模拟代码与 MakeMaker 生成的 Makefile 一起使用?
【问题讨论】:
-
要么将 PERL5LIB 设置为包含您的 t 目录,要么将
use lib设置在您的测试文件中。
标签: perl unit-testing code-reuse