- 浏览: 2073724 次
- 性别:
- 来自: NYC
文章分类
- 全部博客 (628)
- Linux (53)
- RubyOnRails (294)
- HTML (8)
- 手册指南 (5)
- Mysql (14)
- PHP (3)
- Rails 汇总 (13)
- 读书 (22)
- plugin 插件介绍与应用 (12)
- Flex (2)
- Ruby技巧 (7)
- Gem包介绍 (1)
- javascript Jquery ext prototype (21)
- IT生活 (6)
- 小工具 (4)
- PHP 部署 drupal (1)
- javascript Jquery sort plugin 插件 (2)
- iphone siri ios (1)
- Ruby On Rails (106)
- 编程概念 (1)
- Unit Test (4)
- Ruby 1.9 (24)
- rake (1)
- Postgresql (6)
- ruby (5)
- respond_to? (1)
- method_missing (1)
- git (8)
- Rspec (1)
- ios (1)
- jquery (1)
- Sinatra (1)
最新评论
-
dadadada2x:
user模型里加上 protected def email ...
流行的权限管理 gem devise的定制 -
Sev7en_jun:
shrekting 写道var pattern = /^(0| ...
强悍的ip格式 正则表达式验证 -
jiasanshou:
好文章!!!
RPM包rpmbuild SPEC文件深度说明 -
寻得乐中乐:
link_to其实就是个a标签,使用css控制,添加一个参数: ...
Rails在link_to中加参数 -
aiafei0001:
完全看不懂,不知所然.能表达清楚一点?
"$ is not defined" 的问题怎么办
官方说明如下
主要一个expect一个verify
使用例子如下:
给个标准库地址:http://www.ruby-doc.org/stdlib-1.9.3/
之前的用法:
主要一个expect一个verify
#Expect that method name is called, optionally with args, and returns retval. @mock.expect(:meaning_of_life, 42) @mock.meaning_of_life # => 42 @mock.expect(:do_something_with, true, [some_obj, true]) @mock.do_something_with(some_obj, true) # => true args is compared to the expected args using case equality (ie, the ‘===’ operator), allowing for less specific expectations. @mock.expect(:uses_any_string, true, [String]) @mock.uses_any_string("foo") # => true @mock.verify # => true @mock.expect(:uses_one_string, true, ["foo"] @mock.uses_one_string("bar") # => true @mock.verify # => raises MockExpectationError
使用例子如下:
class MemeAsker def initialize(meme) @meme = meme end def ask(question) method = question.tr(" ","_") + "?" @meme.send(method) end end require 'minitest/autorun' describe MemeAsker do before do @meme = MiniTest::Mock.new @meme_asker = MemeAsker.new @meme end describe "#ask" do describe "when passed an unpunctuated question" do it "should invoke the appropriate predicate method on the meme" do @meme.expect :will_it_blend?, :return_value @meme_asker.ask "will it blend" @meme.verify end end end end
给个标准库地址:http://www.ruby-doc.org/stdlib-1.9.3/
之前的用法:
class AdminMailer def mail_admins( message ) # ... send emails to all admins end end class ErrorHandler def initialize( mailer ) @mailer = mailer end def execute begin yield rescue RuntimeError => err @mailer.mail_admins( err.message ) end end end require 'test/unit' require 'test/unit/mock' class ErrorHandlerTestCase < Test::Unit::TestCase def test_error_should_mail_all_admins_with_error_message mock_mailer = Test::Unit::MockObject( AdminMailer ).new mock_mailer.set_call_order( :mail_admins ) mock_mailer.activate handler = ErrorHandler.new( mock_mailer ) assert_nothing_raised do handler.execute { raise "Something bad happened" } end mock_mailer.verify end end
assert( boolean, [message] ) #True if boolean assert_equal( expected, actual, [message] ) assert_not_equal( expected, actual, [message] ) #True if expected == actual assert_match( pattern, string, [message] ) assert_no_match( pattern, string, [message] ) #True if string =~ pattern assert_nil( object, [message] ) assert_not_nil( object, [message] ) #True if object == nil assert_in_delta( expected_float, actual_float, delta, [message] ) #True if (actual_float - expected_float).abs <= delta assert_instance_of( class, object, [message] ) #True if object.class == class assert_kind_of( class, object, [message] ) #True if object.kind_of?(class) assert_same( expected, actual, [message]) assert_not_same( expected, actual, [message] ) #True if actual.equal?( expected ). assert_raise( Exception,... ) {block} assert_nothing_raised( Exception,...) {block} #True if the block raises (or doesn't) one of the listed exceptions. assert_throws( expected_symbol, [message] ) {block} assert_nothing_thrown( [message] ) {block} #True if the block throws (or doesn't) the expected_symbol. assert_respond_to( object, method, [message] ) #True if the object can respond to the given method. assert_send( send_array, [message] ) #True if the method sent to the object with the given arguments return true. assert_operator( object1, operator, object2, [message] ) #Compares the two objects with the given operator, passes if true
发表评论
-
brew service restart
2013-07-06 22:56 1449brew services restart memcached ... -
git如何合并 多个commit
2013-07-02 20:42 9371需要先搞明白rebase 然后,进这个界面 pick b ... -
rvm create gemset
2013-07-01 09:00 1281rvm ruby-1.9.3-p429 do rvm gems ... -
关于devise结合github通过omniauth登录
2013-06-24 04:47 4158最近写了个github帐户登录Demo: https://gi ... -
cdata 和 xml xmlParseEntityRef: no name 错误
2013-05-04 00:24 5003Problem: An XML parser returns ... -
一目了然 rails html xml encode decode
2013-05-03 23:37 31181.9.2p320 :001 > require ' ... -
使用scope 链接多个where条件
2013-05-02 09:17 2608scope :by_category, (lamb ... -
在rspec里使用 route path
2013-05-01 20:09 1008Rspec.configure do |config| ... -
select_tag default value & options
2013-04-10 21:40 2190#If you are using select_tag ... -
Jquery array remove
2013-04-10 21:38 4537Array.prototype.remove = fu ... -
ruby readline的两种写法
2013-04-09 10:21 902f = File.read('public/file.cs ... -
关于encoding utf-8
2013-04-04 20:55 4088一 gem解决方案 https://github.com/m- ... -
我见过最清楚的解释class_eval 和 instance_eval
2013-04-02 07:06 3327忘了,看一次就能回忆起来 class A # def ... -
multiple provider oauth
2013-04-01 11:13 1297Allowing users to login with mu ... -
oauth github和multiple oauth
2013-04-01 11:08 1546http://railscasts.com/episodes/ ... -
Ruby Jquery 地图,地理信息相关资源
2013-03-22 20:32 936Railscast Geocorder Geocorde ... -
load migrate file and load
2013-03-22 05:52 998Dir[Rails.root.join('db','mig ... -
Brew update problem
2013-03-22 05:48 1342引用 MBA:~ fortin$ brew update er ... -
Jquery sort table number
2013-03-19 01:01 1141So here is what the column is s ... -
update_all
2013-03-13 02:09 1341Article.limit(2).update_all [&q ...
相关推荐
《Programming Ruby 1.9 (3rd edition)》是一本专为程序员编写的关于Ruby语言的权威指南,这本书的第三版详细介绍了Ruby 1.9版本的语言特性、库以及编程实践。Ruby是一种动态、面向对象的脚本语言,以其简洁、优雅的...
2. **集成到Ruby标准库**:minitest作为Ruby标准库的一部分,无需额外安装,可以直接在任何Ruby项目中使用。 3. **测试套件**:minitest提供了Test类,用于创建测试用例。每个测试用例都是一个独立的方法,以`test_...
在 Ruby 1.9 和 2.1 之间,Ruby 为 minitest 提供了一个包装器,以提供与 Ruby 1.8 相同的 Test::Unit 接口。 Ruby 2.2 附带了 Test::Unit 的捆绑 gem,但这不是包装器。 对包装好的 Test::Unit 的一些测试实际上...
:)要求: MiniTest(在Ruby 1.9 stdlib或Ruby 1.8上的`gem install minitest`中)安装: gem install rsmaz用法: ¶ ↑ require 'rsmaz'r = RSmaz . compress ( "whatever" )puts RSmaz . decompress ( r ) Ruby ...
Ruby 1.9.3、2.0.0、ruby-head、rbx-19mode。 活动模型 3.2.x。 安装 将此行添加到应用程序的 Gemfile 中: gem 'minitest-activemodel', group: :test 然后执行: $ bundle 或者自己安装: $ gem install ...
MiniTest::FireMock 这个 gem 旨在使隔离测试更具弹性。 在独立测试中,FireMock 与普通模拟没有什么不同。... MiniTest :: Unit :: TestCase def test_for_correctness mock = MiniTest :: FireMock . new
minitest-reporters-创建可定制的Minitest输出格式 死于乱七八糟的猴子! 通过简单的钩子扩展Minitest。 安装 gem install minitest-reporters 用法 在您的test_helper.rb文件中,添加以下行: require "minitest/...
使Rails使用MiniTest :: Spec! minitest-spec-rails gem使您可以在现有的Rails 2.3、3.x或4.x测试套件中轻松使用MiniTest :: Spec DSL。 它通过强制ActiveSupport :: TestCase利用MiniTest :: Spec :: DSL来实现此...
MiniTest是Ruby标准库的一部分,它包含了一个全面的测试套件,支持单元测试、集成测试以及性能测试。编写MiniTest的测试代码时,我们通常会创建一个继承自MiniTest::Test的类,并在其中定义测试方法,每个方法都以`...
为Minitest提供消费者支持。 安装 将此行添加到您的应用程序的Gemfile中: gem 'pact-consumer-minitest' 然后执行: $ bundle 或将其自己安装为: $ gem install pact-consumer-minitest 用法 有关使用Pact...
nim-minitest是一个专门为Nim编程语言设计的测试框架,它借鉴了Python的minitest库的概念,为Nim开发者提供了简洁、高效的单元测试解决方案。Nim是一种静态类型、编译型的语言,强调性能、安全性和可移植性,而nim-...
mocha, mocha 是用于 ruby的mock和stub库 mocha 描述用于模拟和stub的ruby 库。完整的。简单的和可以读的语法,完全&部分模拟。内置支持MiniTest和 Test::Unit 。由许多其他测试框架支持。安装 gem使用以下
minitest 的一大亮点是它同时支持Scala标准库和Scala.js库。这意味着你可以在服务器端和客户端的代码上使用相同的测试代码,提高了代码的可复用性和一致性。 ### 7. 运行与报告 minitest 提供了简单的命令行工具来...
MINITEST钩 minitest-hooks为Minitest添加了around和before_all / after_all / around_all钩子。 这使您可以执行以下操作,例如在数据库事务中运行每个规范套件,在该事务内部的自己的保存点内运行每个规范,从而...
4. **Mini Test**:Mini Test 是 Ruby 标准库的一部分,它提供了一套完整的测试工具,包括断言、模拟(mocking)和桩(stubbing)等。Mini Test 的简洁API使得它成为初学者和经验丰富的开发者都喜欢的测试工具。 5....
MiniTest 是一个轻量级且高效的 Ruby 单元测试框架,它在 Ruby 1.9 及更高版本中被内置,并有可能成为 Rails 4 的默认测试工具。与传统的 TestUnit 框架相比,MiniTest 提供了更快的运行速度和更简洁的代码结构。...
Minitest :: PerformanceRegression 通过注释测试,分析其性能并检查自上次运行以来的性能回归。 安装 将此行添加到您的应用程序的Gemfile中: gem 'minitest-perf_regression' 然后执行: $ bundle 或将其自己...
2. **Minitest**: Minitest是Ruby标准库中内置的测试框架,提供了简单的API来进行单元测试和集成测试。一个简单的Minitest测试可能如下所示: ```ruby require 'minitest/autorun' class CalculatorTest < ...
Minitest::Parallel::Db 与单个数据库并行运行 Minitest。 基本原理 即使涉及数据库,我们也应该能够并行运行测试。 我们可以利用数据库事务来保持我们的测试相互隔离。 已经有解决方案,但有些需要创建多个数据库...