Tôi đang cố gắng thiết lập dự án Rails-Angular để cung cấp các bài kiểm tra JS. Tôi đã thử gần như tất cả những gì tôi đã tìm thấy trong Google:Làm thế nào để thiết lập dự án Rails-Angular để kiểm tra JS?
- Karma (trước đây là Testacular)
- Jasmine + Jasmine-headless-WebKit
- Jasminerice
- một số tuts khác
nhưng tôi thất bại với tất cả của họ. Tôi đang tìm cách để chạy đơn vị và kiểm tra e2e theo cách không đau nhất (nó có thể là trong Guard hoặc Karma, tôi không quan tâm, nhưng nó phải chạy nó tự động trong nền).
Có ai trong số bạn một số bài viết hay với ví dụ hay về cách đạt được điều này không? Trong nghiên cứu của tôi, tôi đã tìm thấy this, nhưng IMHO nó là ví dụ làm thế nào để KHÔNG làm điều này.
My thực tế Gemfile
:
source 'https://rubygems.org'
# Use Ruby 1.9.3 instead default Heroku's 1.9.2
# for development I suggest https://gist.github.com/1688857
ruby '1.9.3'
gem 'rails', '3.2.12'
# Use PostgreSQL, which is quite awesome, fast and easy
gem 'pg'
# Gems used only for assets and not required
# in production environments by default.
group :assets do
gem 'sass-rails', '~> 3.2.3'
gem 'bootstrap-sass', '~> 2.3.1'
# I heard that you like Compass
gem 'compass'
# Angular.js
gem 'angularjs-rails'
gem 'angularjs-rails-resource'
gem 'angular-ui-rails'
# Assets should be minified before production
gem 'uglifier', '>= 1.0.3'
end
gem 'jquery-rails'
# Serve static pages like a boss
gem 'high_voltage'
# Some user management will be nice
gem 'devise' # User management
# gem 'cancan' # And they privileges
# To use Jbuilder templates for JSON
gem 'jbuilder'
# Be fast and deadly as Puma
#gem 'puma'
# We need also some administration panel, don't we?
gem 'rails_admin'
# Some helpers
gem 'andand'
group :development do
# IRb is ugly. Use Pry for the God's sake
gem 'pry-rails'
# Deploy with Capistrano
# gem 'capistrano'
# or Vlad the Deployer
# gem 'vlad'
# Why bother yourself with rerunning tests? Use Guard
gem 'guard'
gem 'guard-rspec'
gem 'guard-spork'
gem 'guard-livereload'
gem 'guard-jasmine'
gem 'rb-fsevent', require: false
gem 'rb-inotify', require: false
# Who like ugly error pages? We don't.
gem 'better_errors'
gem 'binding_of_caller'
# Prettier documentation
gem 'yard'
end
group :development, :test do
# Use RSpec for testing
gem 'rspec-rails', '~> 2.12.0'
# Test JS using Jasmine
gem 'jasmine'
gem 'jasmine-headless-webkit'
# Some DB table generator
gem 'factory_girl_rails', '~> 4.1.0'
# And fake data generator
gem 'ffaker'
end
group :test do
# Some Gherkins will be also good (to vodka of course)
gem 'turnip', '~> 1.1.0'
# Aww, an of course some web browser will be also apprised
gem 'capybara', '~> 2.0.1'
# Clean DB after tests
gem 'database_cleaner'
# Some nice matchers
gem 'shoulda-matchers'
# Extend your mocks
gem 'bourne', '~> 1.2.1'
# Coverage reports will be nice
gem 'simplecov', require: false
end
PS: Nó sẽ được tốt đẹp nếu tôi có thể tạo các báo cáo bảo hiểm theo cách đơn giản.
"nhưng nó phải chạy tự động ở chế độ nền" - chúng tôi tạo ra các trình chạy thử chạy tắt 'Grunt' cho dự án Góc của chúng tôi và các báo cáo vùng phủ sóng đã tạo và kết quả xUnit cho CI (chẳng hạn như Jenkins); vì vậy bạn có cần phải chạy các thử nghiệm này từ một 'Gemfile' hoặc bạn có thể ném một số' nodejs' vào hỗn hợp không? –
Thật tuyệt khi có nó trong 'Gemfile' để tích hợp với Guard, nhưng tôi không bị ép buộc. Có lẽ tốt hơn nếu tôi tách các bài kiểm tra lối vào từ các bài kiểm tra phụ trợ. Vì vậy, lựa chọn Grunt/Karma cũng tốt đẹp. Nhưng tôi cũng muốn có tất cả các bài kiểm tra trong thư mục 'spec /' (nếu có thể). – Hauleth
Tôi đang thử https://github.com/modeset/teaspoon vào cuối tuần này, sẽ cho bạn biết cách thức hoạt động. – darethas