使用Eclipse插件Ruby Development Tools - 编程入门网
论会上,软件开发思想家 Relevance 公司的 Stuart Halloway 指 出,“在 5 年内,我们将看到编译成为一种比较弱的单元测试形式。”单元测试检验代码是 否做了开发人员希望它做的事儿,而不只是对类型进行拼写检查。
既然单元测试在 Ruby 环境中 如此重要,那么当然希望 RDT 可以使运行单元测试更容易。它确实做到了。单元测试已经包含在 Ruby 中,所以不需要下载任何额外的扩展代码。Ruby 库包含一个 TestCase 类和 TestSuite 的概念。可以像 创建其他 Ruby 类一样创建单元测试,这需要对 Test::Unit::TestCase 进行子类化。清单 1 是一个称 为 Employee 的示例类。 使用Eclipse插件Ruby Development Tools(7)时间:2011-10-21 IBM Neal Ford清单 1. Employee 类 class Employee def initialize(name, salary, hire_year) @name = name @salary = salary @hire_year = hire_year end attr_reader :name, :salary, :hire_year def raise_salary_by(perc) @salary += (@salary * (perc * 0.01)) end def to_s "Name is #{@name}, salary is #{@salary}, " + "hire year is #{@hire_year}" end end 对应的单元测试是: 清单 2. Employee 类的单元测试 require ''test/unit/testcase'' require ''test/unit/autorunner'' require ''hr'' class TestEmployee < Test::Unit::TestCase @@Test_Salary = 2500 def setup @emp = Employee.new("Homer", @@Test_Salary, 2003) end def test_raise_salary @emp.raise_salary_by(10) expected = (@@Test_Salary * 0.10) + @@Test_Salary assert( expected == @emp.salary) end end 要运行这个单元测试,应该为单元测试类创建一个 Test::Unit 类型的 Run 配置。 图 12. RDT 包含 Test::Unit Run 配置 使用Eclipse插件Ruby Development Tools(8)时间:2011-10-21 IBM Neal Ford在运行这个测试时 ,可以获得与 Java 单元测试相同的支持元素,包括左下角与 JUnit 相似的面板。 图 13. 在 IDE 中运行的单元测试示例 在 Ruby 中还可以 创建 TestSuites。TestSuites 是定义套件方法的 Ruby 类,这个方法返回 TestSuite。TestSuite 由在 每个 TestCases 中自动定义的套件组成。清单 3 是两个类的 TestSuite 示例。 清单 3. 两个类 的 TestSuite 示例 require ''test/unit/testsuite'' require ''test/unit/ui/tk/testrunner'' require ''test/unit/ui/console/testrunner'' require ''TestEmployee'' require ''TestManager'' class TestSuite_AllTests def self.suite suite = Test::Unit::TestSuite.new("HR Tests") suite << TestEmployee.suite suite << TestManager.suite return suite end end #Test::Unit::UI::Tk::TestRunner.run(TestSuite_AllTests) Test::Unit::UI::Console::TestRunner.run(TestSuite_AllTests) 使用Eclipse插件Ruby Development Tools(9)时间:2011-10-21 IBM Neal Ford与前面运行单一 TestCase 的例子不同,套件作为单独的应用程序运行。Ruby 有两种显示 TestSuite 结果的方法。第一种是 Console Test Runner,它在控制台输出结果。第二种是 Tk TestRunner,它创建一个对话框来显示测试 结果。Tk TestSuite 对话框见图 14。 图 14. 图形化的 TestSuite 对话框 未来的发展 RDT 的当前版本是 0.50。它的开发人员正在为下一个版本 0.60 而努力。下一个版本中计划的改 进包括: 代码折叠 —— 可以将类和方法的代 |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |