加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – 使用`rake test`的问题

发布时间:2020-12-17 02:29:20 所属栏目:百科 来源:网络整理
导读:我想知道如何在我的rails应用程序中设置测试.当我运行rake测试时,首先奇怪的是,它会针对我的dev启动一堆CREATE TABLE.数据库(哼..不喜欢这个……).所以我启动了rake测试RAILS_ENV = test,我甚至尝试捆绑exec rake测试RAILS_ENV = test.现在,CREATE TABLE是针
我想知道如何在我的rails应用程序中设置测试.当我运行rake测试时,首先奇怪的是,它会针对我的dev启动一堆CREATE TABLE.数据库(哼..不喜欢这个……).所以我启动了rake测试RAILS_ENV = test,我甚至尝试捆绑exec rake测试RAILS_ENV = test.现在,CREATE TABLE是针对我的测试数据库的,但是所有这些都失败并出现此错误:

** Execute test:units
test/unit/category_test.rb:5:in `test': unknown command 't' (ArgumentError)
    from test/unit/category_test.rb:5:in `<class:CategoryTest>'

我在Rails 3中使用了基本的生成器,并没有改变任何东西.所以我在caterogy_test.rb中有这个:

require 'test_helper'

class CategoryTest < ActiveSupport::TestCase
   # Replace this with your real tests.

   test "the truth" do
       assert true
   end
end

我使用Rails 3.0.7和基本配置.

有任何想法吗 ?

编辑

我变得疯狂,做了很多尝试,似乎都没有工作.当我用一些东西开始一个新的应用程序时,rake测试工作正常但是当我在我当前的那个上尝试这个时,它总是在我的dev上启动. db并且根本不工作.我试图编辑测试文件,还原它们,尝试以不同的方式删除/设置测试数据库,尝试不同的rake版本,比较我当前应用程序的一方面和另一方面的全新应用程序. ..一无所获..帮忙!

编辑2

听起来很蹩脚,但是rake和rake测试一样是正常的吗?

编辑3

听起来很可能,当我继续研究什么是错的时候,我意识到每次运行rake测试时,它都会在开发环境中运行,而不是测试环境(看日志).它在我的计算机OSX和我们的服务器FreeBSD上为所有Rails 3.0.7应用程序执行此操作.您确定默认情况下rake测试应该适用于测试环境吗?

编辑4

请帮忙!

编辑5 – 摘要

在我的计算机或我们的Rails 3.0.7服务器上使用不同的应用程序运行rake测试时,它会执行以下操作:

>对dev进行CREATE TABLE和INSERT INTO迁移. D b.
>不要清空开发者. D b.
> development.log写的不是test.log
>还有一个特定应用程序错误unknowm comman’t’的问题.

编辑6 – db配置

尚未更改默认值:https://gist.github.com/1006199

编辑7

rake db:test:prepare –trace – >什么都没有打破(但保持打印(first_time)
https://gist.github.com/1007340

使用RAILS_ENV =“test”进行耙,一切都很顺利.它写在测试日志上.

ruby -I test test / unit / category_test.rb和rake一样,但是没有写dev.或测试日志.

解决方法

一堆无序的答案:

>“CREATE TABLE”语句通常表示从头开始创建test_db(默认情况下,在测试任务之前,启动db:migrate).你确定他们在dev_db上被调用了吗?
还要检查你的config / database.yml以查看是否存在一些拼写错误(例如:对于test和dev环境使用相同的表)
>看起来某些迁移文件中存在错误(错误记住迁移中的块).
>“rake test”是默认任务,这就是为什么它只是在没有参数的情况下启动“rake”时运行的原因.

编辑:

根据我在编辑中看到的内容,从5及以上,看起来你有一些环境文件的问题.所以试着仔细检查:
* config / environments / test.rb
* config / application.rb
* config / environment.rb

如果使用RAILS_ENV =“test”,一切顺利,那么我几乎可以肯定你已经改变了你的app中的一些默认行为(configs,env变量,任何特定的gem?)

另外,在test / test_helper.rb中,在文件开头添加RAILS_ENV =’test’,这应该强制测试环境.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读