草庐IT

Controller测试

全部标签

ruby - 如何使用 Ruby 测试/单元执行单个测试?

有什么方法可以在ruby​​测试/单元框架下执行单个测试,而不是自动运行所有测试用例。我知道我可以通过使用Rake来实现这一点,但我现在还没有准备好切换到rake。rubyunit_test.rb#thiswillrunallthetestcaserubyunit_test.rbtest1#thiswillonlyruntest1 最佳答案 您可以在命令行上传递-n选项来运行单个测试:rubymy_test.rb-ntest_my_method其中“test_my_method”是您要运行的测试方法的名称。

ruby-on-rails - Rails before_filter 用于 Controller 中的特定操作

defnewbefore_filterdoredirect_to"/"unlesscurrent_admin||current_companyflash[:notice]='Youdonthaveenoughpermissionstobehere'unlesscurrent_admin||current_companyendCODECODECODEenddefeditbefore_filterdoredirect_to"/"unlesscurrent_admin.id=5flash[:notice]='Youdonthaveenoughpermissionstobehere'unles

ruby - 使用 Rake 运行 Ruby 单元测试

我正在研究使用Rake构建工具来自动运行单元测试。我在网上搜索过,但所有示例都是使用rails的。我通常只编写小型命令行程序或简单的Sinatra应用程序。所以我想出了以下(可能是坏的)解决方案,它只是模拟我在命令行上所做的事情:(我只是运行一个单元测试作为例子。)desc'Rununittests'task:testdosh'ruby-Ilibtest/test_entry.rb'endtask:default=>:test它有效,但我不禁想到一定有更好的方法,只是写require'test/test_entry.rb'是行不通的。我遇到require问题,Ruby无法找到所有文件所

ruby - 用于测试 nil 或空数组的内置方法?

我如何判断一个数组是空的还是nil? 最佳答案 没有Rails或ActiveSupport,array.to_a.empty? 关于ruby-用于测试nil或空数组的内置方法?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/5694683/

ruby-on-rails - rails 中的单元测试 - 带回形针的模型

我正在尝试使用回形针为带有图片的模型编写测试。我使用的是默认测试框架,没有shoulda或rspec。在这种情况下,我应该如何测试呢?我真的应该上传文件吗?我应该如何将文件添加到夹具? 最佳答案 将文件添加到模型非常简单。例如:@post=Post.new@post.attachment=File.new("test/fixtures/sample_file.png")#Replaceattachment=withthenameofyourpaperclipattachment在那种情况下,您应该将文件放入您的test/fixtur

ruby-on-rails - 如何让 Rspec 运行嵌套在文件夹下的所有测试?

我喜欢在单独的选项卡中运行Spork来运行我的Rspec测试。我通常使用rspecspec运行我的测试,我打算通过它说“递归搜索并运行spec文件夹中的所有内容。”我最近意识到这实际上并没有运行我的所有测试。我现在在spec/requests中有一个未运行的规范文件。我知道这一点是因为我编辑了其中一个测试以引发错误,并运行以下命令:rspecspec-没有出现错误。rspecspec/requests-仍然没有出现错误,0个示例,0个失败!rspecspec/requests/my_controller.rb-宾果游戏。17个示例,1个失败,失败有我的错误消息。为什么Rspec没有找到

ruby - 如何使用 RSpec 在 Controller 中实例化实例变量

我正在尝试检查我的RESTfulController中的新操作是否设置了所需对象类型的实例变量。看起来很典型,但执行起来有问题客户端Controllerdefnew@client=Client.newend测试describe"GET'new'"doit"shouldbesuccessful"doget'new'response.shouldbe_successendit"shouldcreateanewclient"doget'new'assigns(:client).should==Client.newendend结果......'ClientsControllerGET'new'

ruby-on-rails - 如何在我的 Rails 应用程序中测试 ActiveRecord::RecordNotFound?

我的Controller中有这段代码,我想通过功能测试来测试这段代码。raiseActiveRecord::RecordNotFoundif@post.nil?我应该使用哪种断言方法?我使用内置的rails2.3.5测试框架。我用这段代码试过了:test"shouldreturn404ifpagedoesn'texist."doget:show,:url=>["nothing","here"]assert_response:missingend但这对我不起作用。得到这个测试输出:test_should_return_404_if_page_doesn't_exist.(PageCont

ruby-on-rails - 向现有 Controller 添加操作 (Ruby on Rails)

我是RubyonRails的新手,我已经完成了BlogTutorial.我现在正尝试向Controller添加一个额外的操作,称为“开始”。defstartend我添加了一个View页面“app/views/posts/start.html.erb”,只包含简单的html。当我转到/posts/start时,出现以下错误。ActiveRecord::RecordNotFoundinPostsController#showCouldn'tfindPostwithID=start我了解错误,正在执行显示操作并且开始不是有效ID。为什么启动操作没有执行,是否缺少MVC架构或配置的某些部分?下

ruby-on-rails - 您将如何在 Ruby on Rails 应用程序中使用 rSpec 测试观察者?

假设您的一个RubyonRails应用程序中有一个ActiveRecord::Observer-您如何使用rSpec测试这个观察器? 最佳答案 您走在正确的rails上,但我在使用rSpec、观察者和模拟对象时遇到了许多令人沮丧的意外消息错误。当我对我的模型进行规范测试时,我不想在我的消息期望中处理观察者行为。在您的示例中,在不知道观察者将要对其执行的操作的情况下,没有一种真正好的方法可以在模型上指定“set_status”。因此,我喜欢使用"NoPeepingToms"plugin.根据上面的代码并使用NoPeepingToms插