标签: testunit

如何使用Test :: Unit跳过某些测试

在我的一个项目中,我需要与几个后端系统协作.其中一些有些缺乏文档,部分因此我有一些测试代码与一些测试服务器交互只是为了看到一切按预期工作.但是,访问这些服务器的速度非常慢,因此我不希望每次运行测试套件时都运行这些测试.

我的问题是如何处理你想跳过某些测试的情况.目前我使用环境变量'BACKEND_TEST'和条件语句来检查是否为我想跳过的每个测试设置了变量.但有时我想跳过测试文件中的所有测试,而不必在每个测试的开头添加额外的行.

必须与测试服务器交互的测试并不多,因为我在其他情况下使用flexmock.但是,你不能嘲笑自己远离现实.

从这个问题的标题可以看出,我正在使用Test :: Unit.此外,如果它有任何区别,该项目是一个Rails项目.

ruby testing ruby-on-rails testunit

9
推荐指数
2
解决办法
7851
查看次数

在Ruby中,如何控制Test :: Unit测试的运行顺序?

例如,当运行这些测试时,我想确保test_fizz始终先运行.

require 'test/unit'
class FooTest < Test::Unit::TestCase
    def test_fizz
        puts "Running fizz"
        assert true
    end

    def test_bar
        puts "Running bar"
        assert true
    end
end
Run Code Online (Sandbox Code Playgroud)

更新:我为什么要这样做?我的想法是某些测试的早期失败(那些测试更简单,更基本的方法)将使得更容易追踪系统中的问题.例如,bar取决于fizz正确工作的成功与否.如果fizz坏了,我想立即知道,因为没有必要担心bar,这也会失败,但测试结果的输出要复杂得多.

ruby unit-testing testunit

8
推荐指数
3
解决办法
3228
查看次数

为什么'undefined方法`assert_equal''在被要求'test/unit'之后被抛出

我打开irb并输入:

require 'test/unit'
Run Code Online (Sandbox Code Playgroud)

但是当我使用这个assert_equal方法时,我得到了以下错误:NoMethodError: undefined method 'assert_equal' for main:Object.为什么即使在要求'测试/单位'之后也会发生这种情况?

ruby testunit

8
推荐指数
3
解决办法
7068
查看次数

我如何获得RSpec的共享示例,例如Ruby Test :: Unit中的行为?

是否有类似于RSpec for test :: Unit测试中的shared_examples的插件/扩展名?

ruby rspec testunit minitest

8
推荐指数
2
解决办法
1367
查看次数

rake:测试没有在子目录中运行自定义测试

我正在使用Rails 4.0.0.beta1.我添加了两个目录:app/servicestest/services.

我还添加了这个代码,基于阅读railties的testing.rake:

namespace :test do
  Rake::TestTask.new(services: "test:prepare") do |t|
    t.libs << "test"
    t.pattern = 'test/services/**/*_test.rb'
  end
end
Run Code Online (Sandbox Code Playgroud)

我发现rake test:services运行测试test/services; 但是,rake test不运行那些测试.看起来应该如此 ; 这是代码:

Rake::TestTask.new(:all) do |t|
  t.libs << "test"
  t.pattern = "test/**/*_test.rb"
end
Run Code Online (Sandbox Code Playgroud)

我忽略了什么吗?

testing ruby-on-rails testunit ruby-on-rails-4

8
推荐指数
1
解决办法
3943
查看次数

jest.mock(module)和jest.fn()之间的区别是什么?

我已经尝试了几种不同的方法来定义模拟函数,并且我的所有尝试都失败了.当我尝试将其定义如下:

jest.mock('../src/data/server', ()=> ({server: {report: jest.fn()}}));
expect(server.report.mock).toBeCalledWith(id, data, () => {...}, () => {...});
Run Code Online (Sandbox Code Playgroud)

我收到这个错误:

expect(jest.fn())[.not].toBeCalledWith()
jest.fn() value must be a mock function or spy.
Received: undefined
Run Code Online (Sandbox Code Playgroud)

如果我将模拟定义为:

var spy = jest.mock('../src/data/server', ()=> ({server: {report: jest.fn()}}));
expect(spy).toBeCalledWith(id, data, () => {...}, () => {...});
Run Code Online (Sandbox Code Playgroud)

它返回以下错误:

    expect(jest.fn())[.not].toBeCalledWith()
    jest.fn() value must be a mock function or spy.
    Received:
      object: {"addMatchers": [Function anonymous], "autoMockOff": [Function anonymous], "autoMockOn": [Function anonymous], "clearAllMocks": [Function anonymous], "clearAllTimers": [Function anonymous], "deepUnmock": [Function anonymous], "disableAutomock": [Function anonymous], "doMock": [Function …
Run Code Online (Sandbox Code Playgroud)

testunit reactjs jestjs enzyme

8
推荐指数
1
解决办法
5403
查看次数

ruby Test :: Unit命令行选项?

在Ruby的unit :: test框架中运行测试时,是否有一种非常简单的方法可以从命令行指定只应运行一个测试(即指定测试类和测试成员变量)?如果没有,是否有另一个具有此功能的框架?

ruby unit-testing testunit

7
推荐指数
2
解决办法
4065
查看次数

在使用jQuery的prop方法时,如何使用Capybara测试表单元素是否被禁用?

在我的Rails 3应用程序中,我一直在使用jQuery的attr()方法来执行以下操作:

$('#application_dust_type_id').attr('disabled', 'disabled');
Run Code Online (Sandbox Code Playgroud)

我会使用Test/Unit,capybara和capybara-webkit来测试这个:

assert page.has_selector? 'select[id=application_dust_type_id][disabled=disabled]'
Run Code Online (Sandbox Code Playgroud)

现在,我正在尝试切换到使用prop方法,因为jQuery建议:

$('#application_dust_type_id').prop('disabled', true)
Run Code Online (Sandbox Code Playgroud)

但是现在上面的断言失败了,即使javascript在浏览器中仍然有效.

如何使用capybara基于元素的属性(而不是属性)进行断言?

ruby jquery testunit capybara ruby-on-rails-3

7
推荐指数
1
解决办法
2448
查看次数

Guard + spork + Rspec问题 - 如何删除Test :: Unit的钩子?

我在Ubuntu 12.04的rails 3.2.11项目上运行了guard-spork.

我从railstutorial.org获得了配置.

Spork开始,然后后卫说它找不到spork开始,等待30秒,然后60秒,然后工作.

它可以工作,但每次都会出错.只是想知道我做错了什么.

如何删除Test :: Unit的钩子?

错误信息:

16:31:58 - INFO - Starting Spork for RSpec, Test::Unit
Using RSpec
Preloading Rails environment
Couldn't find a supported test framework that begins with 'testunit'

Supported test frameworks:
( ) Cucumber
(*) RSpec

Legend: ( ) - not detected in project   (*) - detected
Loading Spork.prefork block...
Rack::File headers parameter replaces cache_control after Rack 1.5.
Spork is ready and listening on 8989!
16:32:28 - ERROR - Could not start …
Run Code Online (Sandbox Code Playgroud)

rspec ruby-on-rails guard testunit spork

7
推荐指数
2
解决办法
2668
查看次数

无法让测试单元启动在ruby 1.9.2中工作

我使用Ruby 1.9.2(ruby -v产量:ruby 1.9.2p290(2011-07-09修订版32553)[x86_64-linux]),我试图让它工作:

require 'test/unit'

class TestStartup < Test::Unit::TestCase
  def self.startup
    puts "startup"
  end
  def test1
    puts "in test1"
  end
end 
Run Code Online (Sandbox Code Playgroud)

当我跑的时候,我明白了

Loaded suite test_startup
Started
in test1
.
Finished in 0.000395 seconds. 


1 tests, 0 assertions, 0 failures, 0 errors, 0 skips
Run Code Online (Sandbox Code Playgroud)

我很难找到关于这个功能的文档,除了SO上的零散帖子等.

是的,我想使用此功能而不是设置.

TIA

ruby testunit minitest

6
推荐指数
1
解决办法
776
查看次数