J'essaie de charger des rails dans l'environnement de test à l'aide d'un script Ruby. J'ai essayé de googler un peu et j'ai trouvé cette recommandation: Cela semble charger mon environnement d'accord, mais ma base de données de développement est toujours utilisée. Est-ce que je fais quelque chose de mal? P> Voici mon fichier de base de données.yml ... Cependant, je ne pense pas que ce soit le problème P> require"spec"
require "spec/rake/spectask"
RAILS_ENV = 'test'
namespace :run_all_tests do
desc "Run all of your tests"
puts "Reseting test database..."
system "mysql --user=root --password=dev < C:\\Brian\\Work\\Personal\\BrianSite\\database\\BrianSite_test_CreateScript.sql"
puts "Filling database tables with test data..."
system "mysql --user=root --password=dev < C:\\Brian\\Work\\Personal\\BrianSite\\database\\Fill_Test_Tables.sql"
puts "Starting rails test environment..."
task :run => :environment do
puts "RAILS_ENV is #{RAILS_ENV}"
require "spec/models/blog_spec.rb"
end
end
3 Réponses :
Pour lancer l'environnement de test, vous devez exécuter un script / serveur avec et dans votre configuration / base de données.yml doit être une défenition de test env. base de données, à savoir: p> -e code> param:
Vous savez que vous pouvez exécuter vos tests de l'unité, de votre fonctionnement et d'intégration de Rake, non? Consultez la sortie du test Si vous avez besoin de quelque chose de plus personnalisé, vous pouvez créer votre propre tâche de râteau. Mettre quelque chose comme ceci dans un fichier dans Rake -t code> pour voir comment.
lib / tâches code>: p>
=>: environnement code> charge l'environnement actuel pour vous. Ensuite, vous pouvez exécuter votre tâche dans l'environnement de test comme ceci:
rails_env = test Rake Custom_Test: Exécutez CODE> P> P>
Grand merci! Je suis assez nouveau à rubis et à rails et je ne connaissais pas les capacités de Rake. Maintenant, j'essaie juste d'exécuter mes fichiers de test dans cette tâche de râteau. J'ai mis à jour ma question avec mon code actuel. Merci encore pour votre aide.
Oh ! Si vous utilisez RSPEC, vous devez consulter le plugin RSPEC-Rails ( wiki.github.com/ Dchelimsky / RSPEC / Rails ). Cela vous donnera beaucoup de méthodes d'assistance liées aux rails. De plus, cela vous donnera une tâche Rake pour exécuter toutes vos spécifications (Spec Rake). Vous pouvez également consulter les screencasts PEEPCODE sur RSPEC ( PEEPCODE.COM/PRODUCTS/RSPEC-BASICS ). Je les ai trouvés très utiles pour me faire commencer. À votre santé !
J'ai examiné le plugin Rspec-Rails, mais cela nécessite que vous utilisiez des migrations, ce que je ne suis pas. C'est pourquoi j'ai eu la peine de courir des scripts MySQL, etc. avant d'exécuter mes tests.
Cette commande l'a fait pour moi. J'ai pu charger le test env aloong avec sa base de données.
$rails s -e test
Montrez votre fichier config / base de données.yml
Ok, je n'ai pas compris le problème exact. Vous pouvez essayer de spécifier
env ["rails_env"] = "test" nécessite fichier.expand_path ('../../ config / environnement', __file __) code> clairement