根据软件版本跳过 Coffeescript 测试
Skip Coffeescript tests depending on software version
我有一个名为 archive.spec.coffee
.
的 coffeescript 文件
开头为:
describe 'Archive', ->
并且所有测试都在描述范围内。
我想使用 http 调用检查软件版本,并根据具体版本执行或跳过测试。
我想我需要做这样的事情,但到目前为止还没有用:
req = https.get {host: "https://path/to/endpoint"}
if(req.version == 1.2.3)
this.skip
else
describe 'Archive', ->
谁能告诉我如何正确执行此操作?
附加信息
我想到了这个:
beforeEach ->
req = request.get {
url: 'https://path/to/endpoint',
auth: {
user: 'admin',
pass: 'password'
},
json: true
},
(err, res, body) ->
version = body.responseData.devices[0].versions[0].version
if (version.indexOf('1.2.3') == -1)
done()
else
this.skip()
describe 'Archive', ->
我现在的问题是,如果版本是 1.2.3,version.indexOf('1.2.3')
returns 0,输入 else
但没有跳过测试。
最新更新
现在我想出了这个:
before (done) ->
req = request.get {
url: 'https://path/to/endpoint',
auth: {
user: 'admin',
pass: 'password'
},
json: true
},
(err, res, body) ->
version = body.responseData.devices[0].versions[0].version
if (version.indexOf('1.2.3') != -1)
skip = true
done()
else
done()
describe 'Archive', ->
it 'my_test', ->
if (skip)
this.skip()
如果我用 1.2.3 版本测试它,我可以看到在 before 函数中将 skip 设置为 true。 done() returns 到 my_test 但 if (skip)
是 false
。显然这是因为 skip
在不同的函数中被设置为 true。我如何获得它,以便 returns 之前的值跳到我的测试?
我有一个 json 格式的配置文件,所以我添加了一个 version
键,它接受一个包含版本的环境变量。一旦进入配置,我就可以随心所欲地使用它了。
我有一个名为 archive.spec.coffee
.
开头为:
describe 'Archive', ->
并且所有测试都在描述范围内。
我想使用 http 调用检查软件版本,并根据具体版本执行或跳过测试。
我想我需要做这样的事情,但到目前为止还没有用:
req = https.get {host: "https://path/to/endpoint"}
if(req.version == 1.2.3)
this.skip
else
describe 'Archive', ->
谁能告诉我如何正确执行此操作?
附加信息
我想到了这个:
beforeEach ->
req = request.get {
url: 'https://path/to/endpoint',
auth: {
user: 'admin',
pass: 'password'
},
json: true
},
(err, res, body) ->
version = body.responseData.devices[0].versions[0].version
if (version.indexOf('1.2.3') == -1)
done()
else
this.skip()
describe 'Archive', ->
我现在的问题是,如果版本是 1.2.3,version.indexOf('1.2.3')
returns 0,输入 else
但没有跳过测试。
最新更新
现在我想出了这个:
before (done) ->
req = request.get {
url: 'https://path/to/endpoint',
auth: {
user: 'admin',
pass: 'password'
},
json: true
},
(err, res, body) ->
version = body.responseData.devices[0].versions[0].version
if (version.indexOf('1.2.3') != -1)
skip = true
done()
else
done()
describe 'Archive', ->
it 'my_test', ->
if (skip)
this.skip()
如果我用 1.2.3 版本测试它,我可以看到在 before 函数中将 skip 设置为 true。 done() returns 到 my_test 但 if (skip)
是 false
。显然这是因为 skip
在不同的函数中被设置为 true。我如何获得它,以便 returns 之前的值跳到我的测试?
我有一个 json 格式的配置文件,所以我添加了一个 version
键,它接受一个包含版本的环境变量。一旦进入配置,我就可以随心所欲地使用它了。