快速业务通道

跨越边界: 在集成框架中进行测试,第1部分 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-16
_equal "Emma Long", Trail.find(1).name     assert_equal "easy", Trail.find(2).difficulty    end

同样,可以用 5 个 passing 断言运行这些测试。如果您愿意,还可以按名称引用每个 fixture。例 如,要根据名为 first 的 fixture 来创建对象,可以使用 Ruby 代码 trails[:first]。让 fixture 对 所有测试用例或只对需要它们的测试用例可用,这极大地简化了创建或毁坏数据库数据所需要的代码。

跨越边界: 在集成框架中进行测试,第1部分(6)

时间:2011-07-25 IBM Bruce Tate

在 Java 编程中测试

知道了测试在其他语言中如何发生,就可以改进在 Java 平台上进行测试的方式。具体地说,使用这 些想法中的一项或多项可以对测试产生显著而直接的影响:

可以把测试用例的生成添加到任何现有代码生成当中。Ruby on Rails 通过在默认情况下创建一些简 单的测试用例来取得了巨大优势,您也可以这么做。

可以用事务-回滚技术让数据支持的测试运行得更快。Spring 框架有一些现有的拦截器,可以让这项 技术易于使用。

实际上可以用动态语言驱动测试。Jython、Ruby 和 Groovy 是三个实际可能。

如果觉得愿意采用其他语言进行测试,那么可以使用某种 JVM 语言,例如 JRuby(请参阅 参考资料 )。JRuby 还没有高级到可以运行 Ruby on Rails,但是它是 Java 应用程序卓越的测试平台。只是作为 尝试,JRuby 的开发人员 Charles O''Nutter 提供了以下测试 EJB 的示例:

清单 14. 用 JRuby 测试 EJB 组件

require ''test/unit''    require ''java''    include_class "my.pkg.EJBHomeFactory"    class TestMyBean < Test::Unit::TestCase     def test_finder      wh = EJBHomeFactory.widget_home      w = wh.find_by_color("blue")      assert_not_nil(w)     end     def test_widget      wh = EJBHomeFactory.widget_home      w = wh.find_by_name ("superWidget")      assert_equal("blue", w.color)      assert_equal(14, w.id)     end    end

可以看到,用 Ruby 编写执行 Java 代码的测试用例实际上非常容易。在这个示例中,Ruby 代码发现 一个 EJB 组件,并为用户返回的 bean 提供了一些断言。测试用例当然比多数 Java 测试都容易,使用 Ruby 编写测试用例是一个获得更高的生产率和速率的一种好方法。我还看到针对 Jython 或 Groovy 的 类似策略(请参阅 参考资料)。

第 2 部分将进一步深入查看 Rails 的测试,包括运行更高层次测试(叫做功能测试和集成测试)的 代码。

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号