Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
张重言
rails
提交
fccf3d0b
R
rails
项目概览
张重言
/
rails
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
R
rails
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
fccf3d0b
编写于
8月 29, 2014
作者:
A
Abdelkader Boudih
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
[ActiveJob] TestCase
上级
eb4245dd
变更
8
隐藏空白更改
内联
并排
Showing
8 changed file
with
259 addition
and
365 deletion
+259
-365
activejob/lib/active_job/queue_adapter.rb
activejob/lib/active_job/queue_adapter.rb
+2
-3
activejob/lib/active_job/queue_adapters/test_adapter.rb
activejob/lib/active_job/queue_adapters/test_adapter.rb
+58
-60
activejob/lib/active_job/test_case.rb
activejob/lib/active_job/test_case.rb
+0
-95
activejob/lib/active_job/test_helper.rb
activejob/lib/active_job/test_helper.rb
+175
-152
activejob/test/cases/test_case_test.rb
activejob/test/cases/test_case_test.rb
+15
-0
activejob/test/cases/test_helper_test.rb
activejob/test/cases/test_helper_test.rb
+9
-11
activejob/test/cases/test_test.rb
activejob/test/cases/test_test.rb
+0
-43
railties/lib/rails/generators/test_unit/job/templates/unit_test.rb.erb
...rails/generators/test_unit/job/templates/unit_test.rb.erb
+0
-1
未找到文件。
activejob/lib/active_job/queue_adapter.rb
浏览文件 @
fccf3d0b
...
@@ -6,14 +6,13 @@ module QueueAdapter
...
@@ -6,14 +6,13 @@ module QueueAdapter
extend
ActiveSupport
::
Concern
extend
ActiveSupport
::
Concern
module
ClassMethods
module
ClassMethods
delegate
:performed_jobs
,
:performed_jobs
=
,
:enqueued_jobs
,
:enqueued_jobs
=
,
to:
ActiveJob
::
QueueAdapters
::
TestAdapter
mattr_reader
(
:queue_adapter
)
{
ActiveJob
::
QueueAdapters
::
InlineAdapter
}
mattr_reader
(
:queue_adapter
)
{
ActiveJob
::
QueueAdapters
::
InlineAdapter
}
def
queue_adapter
=
(
name_or_adapter
)
def
queue_adapter
=
(
name_or_adapter
)
@@queue_adapter
=
\
@@queue_adapter
=
\
case
name_or_adapter
case
name_or_adapter
when
:test
ActiveJob
::
QueueAdapters
::
TestAdapter
.
new
when
Symbol
,
String
when
Symbol
,
String
load_adapter
(
name_or_adapter
)
load_adapter
(
name_or_adapter
)
when
Class
when
Class
...
...
activejob/lib/active_job/queue_adapters/test_adapter.rb
浏览文件 @
fccf3d0b
module
ActiveJob
module
ActiveJob
module
QueueAdapters
module
QueueAdapters
class
TestAdapter
class
TestAdapter
m
attr_accessor
(
:perform_enqueued_jobs
)
{
false
}
attr_accessor
(
:perform_enqueued_jobs
)
{
false
}
m
attr_accessor
(
:perform_enqueued_at_jobs
)
{
false
}
attr_accessor
(
:perform_enqueued_at_jobs
)
{
false
}
class
<<
self
# Provides a store of all the enqueued jobs with the TestAdapter so you can check them.
# Provides a store of all the enqueued jobs with the TestAdapter so you can check them.
def
enqueued_jobs
def
enqueued_jobs
@@enqueued_jobs
||=
[]
@@enqueued_jobs
||=
[]
end
end
# Allows you to over write the default enqueued jobs store from an array to some
# Allows you to over write the default enqueued jobs store from an array to some
# other object. If you just want to clear the store,
# other object. If you just want to clear the store,
# call ActiveJob::QueueAdapters::TestAdapter.enqueued_jobs.clear.
# call ActiveJob::QueueAdapters::TestAdapter.enqueued_jobs.clear.
#
#
# If you place another object here, please make sure it responds to:
# If you place another object here, please make sure it responds to:
#
#
# * << (message)
# * << (message)
# * clear
# * clear
# * length
# * length
# * size
# * size
# * and other common Array methods
# * and other common Array methods
def
enqueued_jobs
=
(
val
)
def
enqueued_jobs
=
(
val
)
@@enqueued_jobs
=
val
@@enqueued_jobs
=
val
end
end
# Provides a store of all the performed jobs with the TestAdapter so you can check them.
# Provides a store of all the performed jobs with the TestAdapter so you can check them.
def
performed_jobs
def
performed_jobs
@@performed_jobs
||=
[]
@@performed_jobs
||=
[]
end
end
# Allows you to over write the default performed jobs store from an array to some
# Allows you to over write the default performed jobs store from an array to some
# other object. If you just want to clear the store,
# other object. If you just want to clear the store,
# call ActiveJob::QueueAdapters::TestAdapter.performed_jobs.clear.
# call ActiveJob::QueueAdapters::TestAdapter.performed_jobs.clear.
#
#
# If you place another object here, please make sure it responds to:
# If you place another object here, please make sure it responds to:
#
#
# * << (message)
# * << (message)
# * clear
# * clear
# * length
# * length
# * size
# * size
# * and other common Array methods
# * and other common Array methods
def
performed_jobs
=
(
val
)
def
performed_jobs
=
(
val
)
@@performed_jobs
=
val
@@performed_jobs
=
val
end
end
def
enqueue
(
job
,
*
args
)
def
enqueue
(
job
,
*
args
)
if
perform_enqueued_jobs?
if
perform_enqueued_jobs?
performed_jobs
<<
{
job:
job
,
args:
args
,
queue:
job
.
queue_name
}
performed_jobs
<<
{
job:
job
,
args:
args
,
queue:
job
.
queue_name
}
job
.
new
.
execute
(
*
args
)
job
.
new
.
execute
(
*
args
)
else
else
enqueued_jobs
<<
{
job:
job
,
args:
args
,
queue:
job
.
queue_name
}
enqueued_jobs
<<
{
job:
job
,
args:
args
,
queue:
job
.
queue_name
}
end
end
end
end
def
enqueue_at
(
job
,
timestamp
,
*
args
)
def
enqueue_at
(
job
,
timestamp
,
*
args
)
if
perform_enqueued_at_jobs?
if
perform_enqueued_at_jobs?
performed_jobs
<<
{
job:
job
,
args:
args
,
queue:
job
.
queue_name
,
run_at:
timestamp
}
performed_jobs
<<
{
job:
job
,
args:
args
,
queue:
job
.
queue_name
,
run_at:
timestamp
}
job
.
new
.
execute
(
*
args
)
job
.
new
.
execute
(
*
args
)
else
else
enqueued_jobs
<<
{
job:
job
,
args:
args
,
queue:
job
.
queue_name
,
run_at:
timestamp
}
enqueued_jobs
<<
{
job:
job
,
args:
args
,
queue:
job
.
queue_name
,
run_at:
timestamp
}
end
end
end
end
private
private
def
perform_enqueued_jobs?
def
perform_enqueued_jobs?
perform_enqueued_jobs
perform_enqueued_jobs
end
end
def
perform_enqueued_at_jobs?
def
perform_enqueued_at_jobs?
perform_enqueued_at_jobs
perform_enqueued_at_jobs
end
end
end
end
end
end
end
...
...
activejob/lib/active_job/test_case.rb
浏览文件 @
fccf3d0b
...
@@ -2,102 +2,7 @@
...
@@ -2,102 +2,7 @@
require
'active_support/test_case'
require
'active_support/test_case'
module
ActiveJob
module
ActiveJob
class
NonInferrableJobError
<
::
StandardError
def
initialize
(
name
)
super
"Unable to determine the job to test from
#{
name
}
. "
\
"You'll need to specify it using 'tests YourJob' in your "
\
'test case definition'
end
end
class
TestCase
<
ActiveSupport
::
TestCase
class
TestCase
<
ActiveSupport
::
TestCase
module
Behavior
extend
ActiveSupport
::
Concern
include
ActiveSupport
::
Testing
::
ConstantLookup
include
ActiveJob
::
TestHelper
include
ActiveJob
::
TestHelper
included
do
class_attribute
:_job_class
setup
:initialize_test_adapter
teardown
:restore_previous_adapter
end
module
ClassMethods
def
tests
(
job
)
case
job
when
String
,
Symbol
self
.
_job_class
=
job
.
to_s
.
camelize
.
constantize
when
Module
self
.
_job_class
=
job
else
fail
NonInferrableJobError
.
new
(
job
)
end
end
def
job_class
if
job
=
_job_class
job
else
tests
determine_default_job
(
name
)
end
end
def
determine_default_job
(
name
)
job
=
determine_constant_from_test_name
(
name
)
do
|
constant
|
Class
===
constant
&&
constant
<
ActiveJob
::
Base
end
fail
NonInferrableJobError
.
new
(
name
)
if
job
.
nil?
job
end
end
protected
def
initialize_test_adapter
@old_adapter
=
ActiveJob
::
Base
.
queue_adapter
ActiveJob
::
Base
.
queue_adapter
=
:test
save_test_adapter_behavior
end
def
save_test_adapter_behavior
@old_perform_enqueued_jobs
=
queue_adapter
.
perform_enqueued_jobs
@old_perform_enqueued_at_jobs
=
queue_adapter
.
perform_enqueued_at_jobs
end
def
restore_test_adapter_behavior
queue_adapter
.
perform_enqueued_jobs
=
@old_perform_enqueued_jobs
queue_adapter
.
perform_enqueued_at_jobs
=
@old_perform_enqueued_at_jobs
end
def
restore_previous_adapter
restore_test_adapter_behavior
ActiveJob
::
Base
.
queue_adapter
=
@old_adapter
ActiveJob
::
Base
.
performed_jobs
.
clear
ActiveJob
::
Base
.
enqueued_jobs
.
clear
end
def
perform_enqueued_jobs
queue_adapter
.
perform_enqueued_jobs
=
true
end
def
perform_enqueued_at_jobs
queue_adapter
.
perform_enqueued_at_jobs
=
true
end
def
enqueue_jobs
queue_adapter
.
perform_enqueued_jobs
=
false
end
def
enqueue_at_jobs
queue_adapter
.
perform_enqueued_at_jobs
=
false
end
private
def
queue_adapter
ActiveJob
::
Base
.
queue_adapter
end
end
include
Behavior
end
end
end
end
activejob/lib/active_job/test_helper.rb
浏览文件 @
fccf3d0b
...
@@ -2,169 +2,192 @@
...
@@ -2,169 +2,192 @@
module
ActiveJob
module
ActiveJob
# Provides helper methods for testing Active Job
# Provides helper methods for testing Active Job
module
TestHelper
module
TestHelper
# Asserts that the number of enqueued jobs matches the given number.
extend
ActiveSupport
::
Concern
#
include
ActiveSupport
::
Testing
::
ConstantLookup
# def test_jobs
# assert_enqueued_jobs 0
# HelloJob.enqueue('david')
# assert_enqueued_jobs 1
# HelloJob.enqueue('abdelkader')
# assert_enqueued_jobs 2
# end
#
# If a block is passed, that block should cause the specified number of
# jobs to be enqueued.
#
# def test_jobs_again
# assert_enqueued_jobs 1 do
# HelloJob.enqueue('cristian')
# end
#
# assert_enqueued_jobs 2 do
# HelloJob.enqueue('aaron')
# HelloJob.enqueue('rafael')
# end
# end
def
assert_enqueued_jobs
(
number
)
if
block_given?
original_count
=
enqueued_jobs
.
size
yield
new_count
=
enqueued_jobs
.
size
assert_equal
original_count
+
number
,
new_count
,
"
#{
number
}
job expected, but
#{
new_count
-
original_count
}
were enqueued"
else
assert_equal
number
,
enqueued_jobs
.
size
end
end
# Assert that no job have been enqueued.
included
do
#
class_attribute
:_job_class
# def test_jobs
setup
:initialize_queue_test_adapter
# assert_no_enqueued_jobs
# HelloJob.enqueue('jeremy')
# assert_enqueued_jobs 1
# end
#
# If a block is passed, that block should not cause any job to be enqueued.
#
# def test_jobs_again
# assert_no_enqueued_jobs do
# # No job should be enqueued from this block
# end
# end
#
# Note: This assertion is simply a shortcut for:
#
# assert_enqueued_jobs 0
def
assert_no_enqueued_jobs
(
&
block
)
assert_enqueued_jobs
0
,
&
block
end
# Asserts that the number of performed jobs matches the given number.
# Asserts that the number of enqueued jobs matches the given number.
#
#
# def test_jobs
# def test_jobs
# assert_performed_jobs 0
# assert_enqueued_jobs 0
# HelloJob.enqueue('xavier')
# HelloJob.enqueue('david')
# assert_performed_jobs 1
# assert_enqueued_jobs 1
# HelloJob.enqueue('yves')
# HelloJob.enqueue('abdelkader')
# assert_performed_jobs 2
# assert_enqueued_jobs 2
# end
# end
#
#
# If a block is passed, that block should cause the specified number of
# If a block is passed, that block should cause the specified number of
# jobs to be performed.
# jobs to be enqueued.
#
#
# def test_jobs_again
# def test_jobs_again
# assert_performed_jobs 1 do
# assert_enqueued_jobs 1 do
# HelloJob.enqueue('robin')
# HelloJob.enqueue('cristian')
# end
# end
#
#
# assert_performed_jobs 2 do
# assert_enqueued_jobs 2 do
# HelloJob.enqueue('carlos')
# HelloJob.enqueue('aaron')
# HelloJob.enqueue('sean')
# HelloJob.enqueue('rafael')
# end
# end
# end
# end
def
assert_performed_jobs
(
number
)
def
assert_enqueued_jobs
(
number
)
if
block_given?
if
block_given?
original_count
=
self
.
class
.
job_class
.
performed_jobs
.
size
original_count
=
enqueued_jobs
.
size
yield
yield
new_count
=
performed_jobs
.
size
new_count
=
enqueued_jobs
.
size
assert_equal
original_count
+
number
,
new_count
,
assert_equal
original_count
+
number
,
new_count
,
"
#{
number
}
job expected, but
#{
new_count
-
original_count
}
were performed"
"
#{
number
}
jobs expected, but
#{
new_count
-
original_count
}
were enqueued"
else
else
assert_equal
number
,
performed_jobs
.
size
assert_equal
number
,
enqueued_jobs
.
size
end
end
end
end
# Assert that no job have been perform
ed.
# Assert that no job have been enqueu
ed.
#
#
# def test_jobs
# def test_jobs
# assert_no_perform
ed_jobs
# assert_no_enqueu
ed_jobs
# HelloJob.enqueue('matthew
')
# HelloJob.enqueue('jeremy
')
# assert_perform
ed_jobs 1
# assert_enqueu
ed_jobs 1
# end
# end
#
#
# If a block is passed, that block should not cause any job to be perform
ed.
# If a block is passed, that block should not cause any job to be enqueu
ed.
#
#
# def test_jobs_again
# def test_jobs_again
# assert_no_perform
ed_jobs do
# assert_no_enqueu
ed_jobs do
# # No job should be perform
ed from this block
# # No job should be enqueu
ed from this block
# end
# end
# end
# end
#
#
# Note: This assertion is simply a shortcut for:
# Note: This assertion is simply a shortcut for:
#
#
# assert_perform
ed_jobs 0
# assert_enqueu
ed_jobs 0
def
assert_no_perform
ed_jobs
(
&
block
)
def
assert_no_enqueu
ed_jobs
(
&
block
)
assert_perform
ed_jobs
0
,
&
block
assert_enqueu
ed_jobs
0
,
&
block
end
end
# Assert that a job was enqueued in the block matches the args
# Asserts that the number of performed jobs matches the given number.
#
#
# def assert_enqueued_job
# def test_jobs
# assert_enqueued_job(job: MyJob, args: [1,2,3], queue: 'low') do
# assert_performed_jobs 0
# MyJob.enqueue(1,2,3)
# HelloJob.enqueue('xavier')
# end
# assert_performed_jobs 1
# end
# HelloJob.enqueue('yves')
def
assert_enqueued_job
(
args
=
{},
&
_block
)
# assert_performed_jobs 2
original_enqueued_jobs
=
enqueued_jobs
# end
enqueued_jobs
.
clear
#
args
.
assert_valid_keys
(
:job
,
:args
,
:at
,
:queue
)
# If a block is passed, that block should cause the specified number of
yield
# jobs to be performed.
matching_job
=
enqueued_jobs
.
any?
do
|
job
|
#
args
.
all?
{
|
key
,
value
|
value
==
job
[
key
]
}
# def test_jobs_again
# assert_performed_jobs 1 do
# HelloJob.enqueue('robin')
# end
#
# assert_performed_jobs 2 do
# HelloJob.enqueue('carlos')
# HelloJob.enqueue('sean')
# end
# end
def
assert_performed_jobs
(
number
)
if
block_given?
original_count
=
performed_jobs
.
size
yield
new_count
=
performed_jobs
.
size
assert_equal
original_count
+
number
,
new_count
,
"
#{
number
}
jobs expected, but
#{
new_count
-
original_count
}
were performed"
else
assert_equal
number
,
performed_jobs
.
size
end
end
end
assert
matching_job
ensure
ActiveJob
::
Base
.
enqueued_jobs
=
original_enqueued_jobs
+
enqueued_jobs
end
# Assert that a job was performed in the block matches the args
# Asserts that no jobs have been performed.
#
#
# def assert_performed_job
# def test_jobs
# assert_performed_job(job: MyJob, args: [1,2,3], queue: 'high') do
# assert_no_performed_jobs
# MyJob.enqueue(1,2,3)
# HelloJob.enqueue('matthew')
# end
# assert_performed_jobs 1
# end
# end
def
assert_performed_job
(
args
=
{},
&
_block
)
#
original_performed_jobs
=
performed_jobs
# If a block is passed, that block should not cause any job to be performed.
performed_jobs
.
clear
#
args
.
assert_valid_keys
(
:job
,
:args
,
:at
,
:queue
)
# def test_jobs_again
yield
# assert_no_performed_jobs do
matching_job
=
performed_jobs
.
any?
do
|
job
|
# # No job should be performed from this block
args
.
all?
{
|
key
,
value
|
value
==
job
[
key
]
}
# end
# end
#
# Note: This assertion is simply a shortcut for:
#
# assert_performed_jobs 0
def
assert_no_performed_jobs
(
&
block
)
assert_performed_jobs
0
,
&
block
end
end
assert
matching_job
,
"No performed job found with
#{
args
}
"
ensure
ActiveJob
::
Base
.
performed_jobs
=
original_performed_jobs
+
performed_jobs
end
private
# Asserts that the job passed in the block has been enqueued with the given arguments.
def
enqueued_jobs
#
ActiveJob
::
Base
.
enqueued_jobs
# def assert_enqueued_job
# assert_enqueued_with(job: MyJob, args: [1,2,3], queue: 'low') do
# MyJob.enqueue(1,2,3)
# end
# end
def
assert_enqueued_with
(
args
=
{},
&
_block
)
original_enqueued_jobs
=
enqueued_jobs
.
dup
clear_enqueued_jobs
args
.
assert_valid_keys
(
:job
,
:args
,
:at
,
:queue
)
yield
matching_job
=
enqueued_jobs
.
any?
do
|
job
|
args
.
all?
{
|
key
,
value
|
value
==
job
[
key
]
}
end
assert
matching_job
ensure
queue_adapter
.
enqueued_jobs
=
original_enqueued_jobs
+
enqueued_jobs
end
end
def
performed_jobs
# Asserts that the job passed in the block has been performed with the given arguments.
ActiveJob
::
Base
.
performed_jobs
#
# def test_assert_performed_with
# assert_performed_with(job: MyJob, args: [1,2,3], queue: 'high') do
# MyJob.enqueue(1,2,3)
# end
# end
def
assert_performed_with
(
args
=
{},
&
_block
)
original_performed_jobs
=
performed_jobs
.
dup
clear_performed_jobs
args
.
assert_valid_keys
(
:job
,
:args
,
:at
,
:queue
)
yield
matching_job
=
performed_jobs
.
any?
do
|
job
|
args
.
all?
{
|
key
,
value
|
value
==
job
[
key
]
}
end
assert
matching_job
,
"No performed job found with
#{
args
}
"
ensure
queue_adapter
.
performed_jobs
=
original_performed_jobs
+
performed_jobs
end
def
queue_adapter
ActiveJob
::
Base
.
queue_adapter
end
end
delegate
:enqueued_jobs
,
:enqueued_jobs
=
,
:performed_jobs
,
:performed_jobs
=
,
to: :queue_adapter
private
def
initialize_queue_test_adapter
ActiveJob
::
Base
.
queue_adapter
=
:test
clear_enqueued_jobs
clear_performed_jobs
end
def
clear_enqueued_jobs
enqueued_jobs
.
clear
end
def
clear_performed_jobs
performed_jobs
.
clear
end
end
end
end
end
end
activejob/test/cases/test_case_test.rb
0 → 100644
浏览文件 @
fccf3d0b
# encoding: utf-8
require
'helper'
require
'jobs/hello_job'
require
'jobs/logging_job'
require
'jobs/nested_job'
class
ActiveJobTestCaseTest
<
ActiveJob
::
TestCase
def
test_include_helper
assert_includes
self
.
class
.
ancestors
,
ActiveJob
::
TestHelper
end
def
test_set_test_adapter
assert_instance_of
ActiveJob
::
QueueAdapters
::
TestAdapter
,
self
.
queue_adapter
end
end
activejob/test/cases/test_helper_test.rb
浏览文件 @
fccf3d0b
...
@@ -7,8 +7,7 @@
...
@@ -7,8 +7,7 @@
require
'jobs/nested_job'
require
'jobs/nested_job'
class
EnqueuedJobsTest
<
ActiveJob
::
TestCase
class
EnqueuedJobsTest
<
ActiveJob
::
TestCase
tests
HelloJob
setup
{
queue_adapter
.
perform_enqueued_at_jobs
=
true
}
setup
:perform_enqueued_at_jobs
def
test_assert_enqueued_jobs
def
test_assert_enqueued_jobs
assert_nothing_raised
do
assert_nothing_raised
do
...
@@ -87,20 +86,20 @@ def test_assert_no_enqueued_jobs_failure
...
@@ -87,20 +86,20 @@ def test_assert_no_enqueued_jobs_failure
end
end
def
test_assert_enqueued_job
def
test_assert_enqueued_job
assert_enqueued_
job
(
job:
LoggingJob
,
queue:
'default'
)
do
assert_enqueued_
with
(
job:
LoggingJob
,
queue:
'default'
)
do
NestedJob
.
enqueue_at
(
Date
.
tomorrow
.
noon
)
NestedJob
.
enqueue_at
(
Date
.
tomorrow
.
noon
)
end
end
end
end
def
test_assert_enqueued_job_failure
def
test_assert_enqueued_job_failure
assert_raise
ActiveSupport
::
TestCase
::
Assertion
do
assert_raise
ActiveSupport
::
TestCase
::
Assertion
do
assert_enqueued_
job
(
job:
LoggingJob
,
queue:
'default'
)
do
assert_enqueued_
with
(
job:
LoggingJob
,
queue:
'default'
)
do
NestedJob
.
enqueue
NestedJob
.
enqueue
end
end
end
end
assert_raise
ActiveSupport
::
TestCase
::
Assertion
do
assert_raise
ActiveSupport
::
TestCase
::
Assertion
do
assert_enqueued_
job
(
job:
NestedJob
,
queue:
'low'
)
do
assert_enqueued_
with
(
job:
NestedJob
,
queue:
'low'
)
do
NestedJob
.
enqueue
NestedJob
.
enqueue
end
end
end
end
...
@@ -108,7 +107,7 @@ def test_assert_enqueued_job_failure
...
@@ -108,7 +107,7 @@ def test_assert_enqueued_job_failure
def
test_assert_enqueued_job_args
def
test_assert_enqueued_job_args
assert_raise
ArgumentError
do
assert_raise
ArgumentError
do
assert_enqueued_
job
(
class:
LoggingJob
)
do
assert_enqueued_
with
(
class:
LoggingJob
)
do
NestedJob
.
enqueue_at
(
Date
.
tomorrow
.
noon
)
NestedJob
.
enqueue_at
(
Date
.
tomorrow
.
noon
)
end
end
end
end
...
@@ -116,8 +115,7 @@ def test_assert_enqueued_job_args
...
@@ -116,8 +115,7 @@ def test_assert_enqueued_job_args
end
end
class
PerformedJobsTest
<
ActiveJob
::
TestCase
class
PerformedJobsTest
<
ActiveJob
::
TestCase
tests
HelloJob
setup
{
queue_adapter
.
perform_enqueued_jobs
=
true
}
setup
:perform_enqueued_jobs
def
test_assert_performed_jobs
def
test_assert_performed_jobs
assert_nothing_raised
do
assert_nothing_raised
do
...
@@ -196,20 +194,20 @@ def test_assert_no_performed_jobs_failure
...
@@ -196,20 +194,20 @@ def test_assert_no_performed_jobs_failure
end
end
def
test_assert_performed_job
def
test_assert_performed_job
assert_performed_
job
(
job:
NestedJob
,
queue:
'default'
)
do
assert_performed_
with
(
job:
NestedJob
,
queue:
'default'
)
do
NestedJob
.
enqueue
NestedJob
.
enqueue
end
end
end
end
def
test_assert_performed_job_failure
def
test_assert_performed_job_failure
assert_raise
ActiveSupport
::
TestCase
::
Assertion
do
assert_raise
ActiveSupport
::
TestCase
::
Assertion
do
assert_performed_
job
(
job:
LoggingJob
,
queue:
'default'
)
do
assert_performed_
with
(
job:
LoggingJob
,
queue:
'default'
)
do
NestedJob
.
enqueue_at
(
Date
.
tomorrow
.
noon
)
NestedJob
.
enqueue_at
(
Date
.
tomorrow
.
noon
)
end
end
end
end
assert_raise
ActiveSupport
::
TestCase
::
Assertion
do
assert_raise
ActiveSupport
::
TestCase
::
Assertion
do
assert_performed_
job
(
job:
NestedJob
,
queue:
'low'
)
do
assert_performed_
with
(
job:
NestedJob
,
queue:
'low'
)
do
NestedJob
.
enqueue_at
(
Date
.
tomorrow
.
noon
)
NestedJob
.
enqueue_at
(
Date
.
tomorrow
.
noon
)
end
end
end
end
...
...
activejob/test/cases/test_test.rb
已删除
100644 → 0
浏览文件 @
eb4245dd
# encoding: utf-8
require
'helper'
require
'jobs/hello_job'
require
'jobs/logging_job'
require
'jobs/nested_job'
class
ActiveJobTestCaseTest
<
ActiveJob
::
TestCase
tests
HelloJob
def
test_set_job_class_manual
assert_equal
HelloJob
,
self
.
class
.
job_class
end
end
class
CrazySymbolNameJobTest
<
ActiveJob
::
TestCase
tests
:hello_job
def
test_set_job_class_manual_using_symbol
assert_equal
HelloJob
,
self
.
class
.
job_class
end
end
class
CrazyStringNameJobTest
<
ActiveJob
::
TestCase
tests
'hello_job'
def
test_set_job_class_manual_using_string
assert_equal
HelloJob
,
self
.
class
.
job_class
end
end
class
HelloJobTest
<
ActiveJob
::
TestCase
def
test_set_job_class_manual
assert_equal
HelloJob
,
self
.
class
.
job_class
end
end
class
CrazyNameJobTest
<
ActiveJob
::
TestCase
def
test_determine_default_job_raises_correct_error
assert_raise
(
ActiveJob
::
NonInferrableJobError
)
do
self
.
class
.
job_class
end
end
end
railties/lib/rails/generators/test_unit/job/templates/unit_test.rb.erb
浏览文件 @
fccf3d0b
...
@@ -2,7 +2,6 @@ require 'test_helper'
...
@@ -2,7 +2,6 @@ require 'test_helper'
<%
module_namespacing
do
-%>
<%
module_namespacing
do
-%>
class
<%=
class_name
%>
JobTest
<
ActiveJob::TestCase
class
<%=
class_name
%>
JobTest
<
ActiveJob::TestCase
tests
<%=
class_name
%>
Job
#
test
"
the
truth
"
do
#
test
"
the
truth
"
do
#
assert
true
#
assert
true
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录