有谁知道如何使rspec遵循重定向(在控制器规范中)?(例如,test/unit有follow_redirect!)
我试过"follow_redirect!" 和"follow_redirect"但只得到
undefined method `follow_redirect!' for #<Spec::Rails::Example::ControllerExampleGroup::Subclass_1:0xb6df5294>
Run Code Online (Sandbox Code Playgroud)
例如:
当我创建帐户时,页面将重定向到帐户页面,我的新帐户应位于列表的顶部.
it "should create an account" do
post :create, :name => "My New Account"
FOLLOW_REDIRECT!
response.code.should == "200"
accounts = assigns[:accounts]
accounts[0].name.should == "My New Account"
end
Run Code Online (Sandbox Code Playgroud)
但是FOLLOW_REDIRECT!需要改为实际工作的东西.
我在基于Rest API的系统上担任测试人员.我的部分工作是使用不同的应用程序将文件POST到Rest API,然后通过Rest Client直接访问API以验证XML是否正确.
到目前为止,我一直在使用RESTClient firefox附加组件.
但现在我们正在摆脱旧的登录,转而支持Oauth.这一切都很好,但它会使测试变得更难,因为我不能(不知道如何?)如何使用我正在使用的REST客户端访问Rest API.我不知道任何其他REST客户端可以做到这一点.
我需要一个可以通过oauth处理登录的REST客户端/ REST浏览器.
更新:
嗨.我仍然在寻找能够处理Oauth的更好的REST客户端.所以,如果你知道任何我会感谢下面的帖子.
我们正在使用JUnit - Selenium进行网络测试.我们使用Maven启动它们并构建一个万无一失的报告.
测试套件非常大,运行需要一段时间,有时单个测试失败,因为浏览器无法启动.我希望能够使用maven运行SINGLE测试,因此我重新测试失败的测试并更新报告.
我可以用来mvn test -Dtest=TESTCLASSNAME在一个测试类中运行所有测试,但这还不够好,因为在我们最复杂的测试类中运行所有测试大约需要10分钟,而且其他测试很可能会失败(因为浏览器)不会开始)这会弄乱我的报告.
我知道我可以从Eclipse运行一个测试,但这不是我想要的.
对此的任何帮助都会非常有用
我想使用Label of字段而不是名称来更新QC中的自定义用户字段
目前我们这样做
Set currentRun = QCUtil.CurrentRun
currentRun.Field("RN_USER_03") = 1
currentRun.Post
Run Code Online (Sandbox Code Playgroud)
但我想这样做
Set currentRun = QCUtil.CurrentRun
currentRun.Field("Data Rows Passed") = 4
currentRun.Post
Run Code Online (Sandbox Code Playgroud)
但我找不到这样做的方法.有任何想法吗?
我一直在考虑做自己的语言(实用性:这是一个思想实验).我提出的一个想法是语内语义变异.你基本上编写了语义正则表达式,用等效代码替换.您可以在D-中稍微不那么直接地看到它 - 它们具有转换为D代码的字符串混合.除了我打算隐含地,并以更循环的方式.
现在,我来自C++.所以,如果你考虑:
string a, b, c, d;
// do stuff
a = b + c + d;
Run Code Online (Sandbox Code Playgroud)
此代码会产生各种临时性.即使你有左值参考,你也会创建临时值,它们只会被更有效地重复使用.但它们仍然存在并仍然浪费性能.在最简单的情况下,我在考虑如何消除这些问题.您可以编写一个语义正则表达式,将其转换为最优化的形式.
string a, b, c, d;
// do stuff
a.resize(b.size() + c.size() + d.size());
a = b; a += c; a += d;
Run Code Online (Sandbox Code Playgroud)
如果我实现了std :: string,我可能会写得更快.关键是它们是隐式的 - 当你使用std :: string类时,std :: string实现者编写的公理会影响任何std :: string代码.您可以将其放入现有的C++代码库中,重新编译,并获得std :: string实现者可以免费设想的最快的字符串连接.
目前,您可以进行的优化是有限的,因为您只有语言允许的上下文,在这种情况下,C++中的运算符重载只接受两个参数,this和arg.但语义注册表几乎可以占用您可能需要的所有上下文 - 因为您可以指定匹配的内容 - 甚至可以匹配宿主语言中不存在的语言功能.例如,交换是微不足道的
string a;
a.size;
Run Code Online (Sandbox Code Playgroud)
对于
string a;
a.size();
Run Code Online (Sandbox Code Playgroud)
如果你想窃取C#属性.您可以匹配类定义并实现编译或运行时反射等.
But, I mean, it could get confusing. If there was a bug, …
我编写了以下函数作为我正在开发的jQuery插件的一部分:
$.fn.append2 = function(collection, callback) {
var $this = this;
$.each(collection, function(key, value) {
$this.append(callback ? callback(key, value) : value);
});
return this;
};
Run Code Online (Sandbox Code Playgroud)
在测试了一个高度依赖的高度递归函数之后.append2,我优化.append2了:
$.fn.append2 = function(collection, callback) {
var $this = this;
$.each(collection, callback
? function(key, value) { $this.append(callback(key,value)); }
: function(key, value) { $this.append(value); }
);
return this;
};
Run Code Online (Sandbox Code Playgroud)
虽然这个代码在速度方面更有效,但它仍然让我不满意.基本上,我有两次定义相同的函数:
function(key, value) { $this.append(callback(key,value)); }
function(key, value) { $this.append(value); }
Run Code Online (Sandbox Code Playgroud)
我想知道是否有任何语言可以让我只定义一次函数:
function(key, value) { $this.append(value); }
Run Code Online (Sandbox Code Playgroud)
然后通过将参数替换为$this.appendfrom value来对其进行操作callback(key, value) …
language-features programming-languages functional-programming code-injection homoiconicity