Perl Test::Unit::Lite
来源:互联网 发布:淘宝一伍一拾 编辑:程序博客网 时间:2024/06/05 00:25
找了半天,终于找到一个轻量级测试框架Test::Unit::Lite,这个框架只有一个文件,不需要依赖其他文件,如果使用其他测试框架需要下载很多其他依赖模块,如果是手动下载的话基本是mission impossible。
说说它的使用:
首先写一个测试模块,所有的test case 都必须以test_ 开头,运行的时候并不按照编写顺序运行,而是按照字母排列顺序运行,这是和Perl 本身的存储相关的。
package ATest;use Test::Unit::Lite;use base 'Test::Unit::TestCase';sub set_up{print "Begin test\n";}sub tear_down{print "End test\n";}sub test_1_two{my $self = shift;$self->assert_equals('testing','testing');}sub test_2_one{my $self = shift;$self->assert_equals('testing2','testing');}1;接下来可以用TestSuite 包装多个测试模块运行,但是由于这个框架本身还没有很好的完善,运行会出错,我们用最简单的方法TestRunner 来调用。
use Test::Unit::Lite;my $runner = Test::Unit::TestRunner->new;$runner->start('ATest');输出:
.FTests run: 2, Failures: 1FAILURES!!!------------------------------------------------------------------------------ATest::test_2_one:ATest.pm:21 - ATest(test_2_one)expected 'testinsg', got 'testing' at ATest.pm line 21ATest::test_2_one('ATest=HASH(0x1a5ac3c)') called at D:/Perl/lib/Test/Unit/Lite.pm line 608eval {...} called at D:/Perl/lib/Test/Unit/Lite.pm line 607Test::Unit::TestSuite::run('Test::Unit::TestSuite=HASH(0x1a5ac0c)', 'Test::Unit::Result=HASH(0x1a5ab4c)', 'Test::Unit::TestRunner=HASH(0x1a5a68c)') called at D:/Perl/lib/Test/Unit/Lite.pm line 756Test::Unit::TestRunner::start('Test::Unit::TestRunner=HASH(0x1a5a68c)', 'ATest') called at D:\Tmp\001.pl line 26------------------------------------------------------------------------------还有一种方法是用TestRunner 子类Test::Unit::HarnessUnit 调用,只不过输出的显示不同。
use Test::Unit::Lite;my $runner = Test::Unit::HarnessUnit->new;$runner->start('ATest');输出:
STARTING TEST RUN1..2ok PASS ATest::test_1_twonot ok FAILURE ATest::test_2_one# ATest.pm:21 - ATest(test_2_one)# expected 'testinsg', got 'testing'# at ATest.pm line 21# ATest::test_2_one('ATest=HASH(0x1a32fa4)') called at D:/Perl/lib/Test/Unit/Lite.pm line 608# eval {...} called at D:/Perl/lib/Test/Unit/Lite.pm line 607# Test::Unit::TestSuite::run('Test::Unit::TestSuite=HASH(0x1a5ac2c)', 'Test::Unit::Result=HASH(0x1a5ab6c)', 'Test::Unit::HarnessUnit=HASH(0x1a5a7dc)') called at D:/Perl/lib/Test/Unit/Lite.pm line 756# Test::Unit::TestRunner::start('Test::Unit::HarnessUnit=HASH(0x1a5a7dc)', 'ATest') called at D:\Tmp\001.pl line 26
除此之外,多个测试模块也可以通过命令行运行,把所有测试模块都放到 t/tlib 文件夹下,通过如下命令可以全部运行。
perl -MTest::Unit::Lite -e all_tests
可以自己看看代码,了解一下Unit Test 框架整体是如何运行,尝试去修改完善这个框架。
- Perl Test::Unit::Lite
- unit test
- Unit Test
- Unit test
- UNIT TEST
- Unit Test
- Unit Test
- Unit Test、 UI Test
- unit Test 筆記-write unit test
- [转]Unit Test 原则
- Unit Test研究报告
- vs2005 unit test 点滴
- Design to Unit Test
- Unit Test Frameworks
- j2me unit test
- Unit Test Key Points
- Unit Test研究报告
- Ruby 的 Test::Unit
- 杭电Acm1001解决求和的问题
- c语言中函数返回局部变量的指针(一些容易犯错的地方)
- 使用Intel的虚拟化技术(vt-x)加速Android模拟器
- 黑马程序员——java编程那些事儿____java基础(三) 数组
- VC2010 MSDN的查看方法
- Perl Test::Unit::Lite
- 模态和非模态的区别
- android fileheper文件操作类
- Hash(code and explaination)
- 今天正式CSDN
- libusb-win32介绍
- 2013 0317
- linux shell ----test commond or [expr]
- ajax开发框架和XMLhttpRequest、responseText、responseXml和JSON的应用