如何访问在 rspec 中的方法运行期间创建的对象?
How do I access objects created during the runtime of a method in rspec?
我有一个 class 和 Klass::save
方法。此方法将创建一个新的 Klass 实例,然后根据需要调用 inst.create
或 inst.update
。
我想写一个这样的 rspec 测试:
expect(instance_created_within_class_method).to receive(:create)
我可以访问在我正在测试的方法 运行 期间创建的对象吗?
expect_any_instance_of(Class).to receive(:create)
可能就是您要找的。
要通过该方法调用,您可以在其末尾添加 .and_call_original
。
查看有关模拟和期望的 RSpec 文档:https://relishapp.com/rspec/rspec-mocks/v/2-14/docs/message-expectations/expect-a-message-on-any-instance-of-a-class!
我有一个 class 和 Klass::save
方法。此方法将创建一个新的 Klass 实例,然后根据需要调用 inst.create
或 inst.update
。
我想写一个这样的 rspec 测试:
expect(instance_created_within_class_method).to receive(:create)
我可以访问在我正在测试的方法 运行 期间创建的对象吗?
expect_any_instance_of(Class).to receive(:create)
可能就是您要找的。
要通过该方法调用,您可以在其末尾添加 .and_call_original
。
查看有关模拟和期望的 RSpec 文档:https://relishapp.com/rspec/rspec-mocks/v/2-14/docs/message-expectations/expect-a-message-on-any-instance-of-a-class!