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

ruby-on-rails – 使用`rake test`的问题,第1张

概述我想知道如何在我的rails应用程序中设置测试.当我运行rake测试时,首先奇怪的是,它会针对我的dev启动一堆CREATE TABLE.数据库(哼..不喜欢这个……).所以我启动了rake测试RAILS_ENV = test,我甚至尝试捆绑exec rake测试RAILS_ENV = test.现在,CREATE TABLE是针对我的测试数据库的,但是所有这些都失败并出现此错误: ** Exec 我想知道如何在我的rails应用程序中设置测试.当我运行rake测试时,首先奇怪的是,它会针对我的dev启动一堆CREATE table.数据库(哼..不喜欢这个……).所以我启动了rake测试RAILS_ENV = test,我甚至尝试捆绑exec rake测试RAILS_ENV = test.现在,CREATE table是针对我的测试数据库的,但是所有这些都失败并出现此错误:

** Execute test:unitstest/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   endend

我使用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’,这应该强制测试环境.

总结

以上是内存溢出为你收集整理的ruby-on-rails – 使用`rake test`的问题全部内容,希望文章能够帮你解决ruby-on-rails – 使用`rake test`的问题所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/1278110.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-06-09
下一篇2022-06-09

发表评论

登录后才能评论

评论列表(0条)

    保存