Sinatra 机架测试“0 个测试”运行
Sinatra Rack Test "0 Tests" run
我正在尝试为小型 Sinatra 应用程序编写一些单元测试。当我 运行 ruby test.rb
时,终端报告它是 "running tests" 但它实际上并没有接收我的单元测试。
无论是在本地输入 ruby app.js
还是通过 phusion passenger,应用程序本身 运行 都很好,所以希望这表明我的 config.ru 和 app.js 文件已设置正确。
这是我目前的情况。
test.rb
require_relative 'app'
require 'test/unit'
require 'rack/test'
ENV['RACK_ENV'] = 'test'
class AppTest < Test::Unit::TestCase
include Rack::Test::Methods
puts "Debug 1"
def app
puts "Debug 2"
Sinatra::Application
end
def root
get '/'
assert last_response.ok?
end
end
航站楼
$ ruby test.rb
Debug 1
Run options:
# Running tests:
Finished tests in 0.004781s, 0.0000 tests/s, 0.0000 assertions/s.
0 tests, 0 assertions, 0 failures, 0 errors, 0 skips
ruby -v: ruby 2.1.5p273 (2014-11-13 revision 48405) [x86_64-darwin14.0]
似乎 "app" 和第一个测试 "root" 永远不会 运行,因为没有打印调试行。我在测试设置中错过了什么?看起来好像我在模仿来自 sinatra 配方/现有应用程序的测试,所以我不确定我搞砸了什么。谢谢!
测试方法必须命名为 test_root
才能使测试成为 运行。否则它只是一个私有方法,除非被 test_
方法调用,否则不会被调用。
我正在尝试为小型 Sinatra 应用程序编写一些单元测试。当我 运行 ruby test.rb
时,终端报告它是 "running tests" 但它实际上并没有接收我的单元测试。
无论是在本地输入 ruby app.js
还是通过 phusion passenger,应用程序本身 运行 都很好,所以希望这表明我的 config.ru 和 app.js 文件已设置正确。
这是我目前的情况。
test.rb
require_relative 'app'
require 'test/unit'
require 'rack/test'
ENV['RACK_ENV'] = 'test'
class AppTest < Test::Unit::TestCase
include Rack::Test::Methods
puts "Debug 1"
def app
puts "Debug 2"
Sinatra::Application
end
def root
get '/'
assert last_response.ok?
end
end
航站楼
$ ruby test.rb
Debug 1
Run options:
# Running tests:
Finished tests in 0.004781s, 0.0000 tests/s, 0.0000 assertions/s.
0 tests, 0 assertions, 0 failures, 0 errors, 0 skips
ruby -v: ruby 2.1.5p273 (2014-11-13 revision 48405) [x86_64-darwin14.0]
似乎 "app" 和第一个测试 "root" 永远不会 运行,因为没有打印调试行。我在测试设置中错过了什么?看起来好像我在模仿来自 sinatra 配方/现有应用程序的测试,所以我不确定我搞砸了什么。谢谢!
测试方法必须命名为 test_root
才能使测试成为 运行。否则它只是一个私有方法,除非被 test_
方法调用,否则不会被调用。