我有一个用php制作的应用程序,我使用phpUnit对其进行单元测试。问题是我必须先设置环境,然后才能进行测试。例如。我必须设置会话变量,登录并从远程服务器获取数据。所有这一切都需要大量的时间,而且在每个测试函数中重新设置都是不可行的。
我正在寻找一种方法,这样我就可以使用相同的浏览器会话来运行其中的所有测试。我试着在网上寻找资源,但找不到任何好的资源。我写的代码是
protected function setUp()
{
parent::setUp();
$this->setBrowserUrl("http://localhost/devel/");
}
pu
假设我有一个特性要求,当用户成功注册一个付费帐户时,会发生以下几件事:
创建用户的帐户
用户的信用卡被开票,从而产生新的交易记录
收据通过电子邮件发送给用户。
我看到的大多数rspec集成或黄瓜测试完全集中在屏幕上显示的内容上,例如expect(page).to have_text(X)或Then I should see X
在这里,集成测试应该涵盖多少?
整合测试应该检查..。
账户记录被创建了吗?
交易是创建的吗?
交易金额是正确的吗?
收据邮件已经发过了吗?
为什么或者为什么不?如果没有,应在何处/如何测试这些类型的副作用?
对于旧版本的ember,请使用
在Ember2.7.0中,我无法按照上面的答案调用startApp。然而,在一些快速测试中,这似乎在注入服务方面工作得很好。
import Ember from 'ember';
import { module, test } from 'qunit';
let speakerMock = Ember.Service.extend({
speak: function() {
console.log("Acceptance Mock!");
}
});
module('Acceptance
我在application_helper中有一个叫做admin_rights的方法。检查用户是否应该能够向站点添加内容。我还没有实现一个用户系统,所以目前它只返回true。但我正在尝试测试它,但我似乎找不到如何将其存根出来,以便它在测试中返回false。该规范检查应仅在admin_rights?时可见的链接。返回true。当我通过更改admin_rights来手动测试它时?如果是false,它就会按预期工作。因此,我显然没有正确地把它扑灭。
规范是:
context "no admin rights" do
before do
page.stub(:admin_r