Redmine 3プラグインはほとんど作成されていません。できるだけ安定性を高めるためにテストをコード化したいと思います。Redmine 3プラグインの機能テストの作成方法
しかし、私は動作するものを作成することはできません。他のプラグインのテストを見ようとしましたが、可能な限り動作するものを再現することはできません。
あなたは私に、どのように進むかの簡単なキャンバスの例を教えていただけますか?
require 'redmine'
require 'versions_controller'
class TimebankHelperTest < ActionController::TestCase
fixtures :projects,
:issues,
:issue_statuses,
:versions,
:trackers,
:projects_trackers,
:issue_categories,
:time_entries
def setup
@controller = VersionsController.new
@request = ActionController::TestRequest.new
@response = ActionController::TestResponse.new
User.current = User.where(:admin => true).first
@request.session[:user_id] = User.current.id
@project = Project.find(1)
end
def test_timebank_table
puts "AWWWWWWWWWWWWWWWWWWWW YEAHHHHHHHHHHHHHHHHHHHHH !"
end
end
しかし、私はコマンドを実行すると::
私は実際にこれを含むRedmineの/プラグイン/ redmine_timebank /テスト/機能/ timebank_helper_test.rb を作成
RAILS_ENV=test bin/rake redmine:plugins:test --trace
を私はこれらのエラーを取得します:
** Execute redmine:plugins:test:functionals
/usr/bin/ruby2.3 -I"lib:test" "/usr/lib/ruby/vendor_ruby/rake/rake_test_loader.rb" "plugins/*/test/functional/**/*_test.rb"
/usr/share/redmine/lib/redmine/core_ext/active_record.rb:18:in `<top (required)>': uninitialized constant ActiveModel (NameError)
from /usr/share/redmine/lib/redmine/core_ext.rb:1:in `require'
from /usr/share/redmine/lib/redmine/core_ext.rb:1:in `block in <top (required)>'
from /usr/share/redmine/lib/redmine/core_ext.rb:1:in `each'
from /usr/share/redmine/lib/redmine/core_ext.rb:1:in `<top (required)>'
from /usr/share/redmine/lib/redmine.rb:18:in `require'
from /usr/share/redmine/lib/redmine.rb:18:in `<top (required)>'
from /usr/share/redmine/plugins/redmine_timebank/test/functional/timebank_helper_test.rb:1:in `require'
from /usr/share/redmine/plugins/redmine_timebank/test/functional/timebank_helper_test.rb:1:in `<top (required)>'
from /usr/lib/ruby/vendor_ruby/rake/rake_test_loader.rb:10:in `require'
from /usr/lib/ruby/vendor_ruby/rake/rake_test_loader.rb:10:in `block (2 levels) in <main>'
from /usr/lib/ruby/vendor_ruby/rake/rake_test_loader.rb:9:in `each'
from /usr/lib/ruby/vendor_ruby/rake/rake_test_loader.rb:9:in `block in <main>'
from /usr/lib/ruby/vendor_ruby/rake/rake_test_loader.rb:4:in `select'
from /usr/lib/ruby/vendor_ruby/rake/rake_test_loader.rb:4:in `<main>'
rake aborted!
見て私はもっと欲求不満を必要としていると思うが、残りのものをすべてインポートするためにレッドマインを要求するだけでいいということは難しい。
require File.dirname(__FILE__) + '/../test_helper'
レーキ試験は、これらのいずれもインポートしないことを言う:
require File.expand_path(File.dirname(__FILE__) + '/../../../test/test_helper')
そして、それぞれのテストファイルに次の行:
他のプラグインには、そのテスト/ test_helper.rbでのようにいくつかのことをインポートしているようですファイルが見つかりました。そのような:
/usr/share/redmine/plugins/redmine_timebank/test/test_helper.rb:1:in `require': cannot load such file -- /usr/share/redmine/test/test_helper (LoadError)
機能を取得するために私の機能テストにインポートする必要があるものは?
これはまだですか?test/test_helper
はまだ存在しますか?どこで見つけることができますか ?
大変ありがとうございました。
を使ってRedmineのベースディレクトリから、あなたのテストを実行し、あなたが成功を収めてコアテストを実行しましたか? RAILS_ENV =テストバンドルexec rake test。次にコアテストをコピーして独自のテストを作成できます。 – Nanego