- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我刚开始使用 TAPE JS 进行测试。我已经完成所有设置并正常工作,并且在常规测试中工作得很好。但我正在尝试测试一种独特的基于 REST API 的产品,该产品依赖于在下一次调用获得成功调用所需的信息之前进行的某些调用。
所以这是我试图开始工作的前两个电话:
var SessionId;
test('beginIqsSession', function (assert) {
assert.plan(1);
var requestData = {"ProductDataArray":{"Feid":"GIQNY","AltData":"SaneID:null","Debug":"false","PageId":"1.1"}};
request({
url: 'http://192.168.99.100/Iqs/api.php/beginIqsSession',
method: "POST",
json: requestData
}, function(error, response, json){
if(json.responseDataPayload.SessionId)
{
SessionId = json.responseDataPayload.SessionId;
assert.equal(1,1);
}
});
assert.end();
});
test('validateAddress', function (assert) {
assert.plan(2);
console.log("Retrieving validateAddress response");
var requestData = {"SessionId":SessionId,"ValidateAddressDataArray":{"PropertyStreetNumber":"20671","PropertyStreetName":"mountain vista dr","PropertyCity":"anchorage","PropertyState":"AK","PropertyZipCode":"99577"}};
console.log(SessionId);
request({
url: 'http://192.168.99.100/Iqs/api.php/validateAddress',
method: "POST",
json: requestData
}, function (error, response, body) {
if (!error) {
console.log(body);
}
else {
console.log("error: " + error)
}
});
assert.end();
});
所以基本上在上面的代码中,我尝试测试 beginIqsSession,等待其响应,并存储该响应中的一段数据,以便将来的调用需要发送。
在 validateAddress 中,您会看到我正在尝试传递上一次调用中返回的 SessionId,但由于此测试与上一个测试同时运行,因此该变量仍然为空。如何进行第二个调用以及所有以后的调用,以等待上一个调用运行?
assert.plan 显然不能以这种方式工作。
最佳答案
您可以使用Promise API
var SessionId;
let p1 = new Promise((resolve, reject) => {
test('beginIqsSession', function (assert) {
assert.plan(1);
var requestData = {"ProductDataArray":{"Feid":"GIQNY","AltData":"SaneID:null","Debug":"false","PageId":"1.1"}};
request({
url: 'http://192.168.99.100/Iqs/api.php/beginIqsSession',
method: "POST",
json: requestData
}, function(error, response, json){
if(json.responseDataPayload.SessionId)
{
SessionId = json.responseDataPayload.SessionId;
assert.equal(1,1);
resolve(SessionId);
}
});
assert.end();
});
})
p1.then((SessionId) => {
test('validateAddress', function (assert) {
assert.plan(2);
console.log("Retrieving validateAddress response");
var requestData = {"SessionId":SessionId,"ValidateAddressDataArray":{"PropertyStreetNumber":"20671","PropertyStreetName":"mountain vista dr","PropertyCity":"anchorage","PropertyState":"AK","PropertyZipCode":"99577"}};
console.log(SessionId);
request({
url: 'http://192.168.99.100/Iqs/api.php/validateAddress',
method: "POST",
json: requestData
}, function (error, response, body) {
if (!error) {
console.log(body);
}
else {
console.log("error: " + error)
}
});
assert.end();
});
});
关于javascript - JS Tape - 等待上一个异步测试完成以进行下一个测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39710883/
为什么 TensorFlow 给我运行时错误(在标题中)? 我正在使用 WinPython3.5.4.2 并安装了 TensorFlow 1.8.0。我一直在关注 https://www.tensor
我在我的 map 上对图钉使用 MVVM-light 方法。 我已将 Tapped Event 绑定(bind)到 ViewModel 中的命令。 然而,事件没有被触发。 所有其他命令和属性都完美绑定
我刚开始使用 TAPE JS 进行测试。我已经完成所有设置并正常工作,并且在常规测试中工作得很好。但我正在尝试测试一种独特的基于 REST API 的产品,该产品依赖于在下一次调用获得成功调用所需的信
看了Tensorflow开发者的峰会视频Eager Execution in Tensorflow,主持人介绍了“渐变胶带”。现在我了解到梯度磁带跟踪 TF 模型中发生的自动微分。 我试图理解为什么我
我正在尝试测试使用 Tape 调用 API 的异步函数,但我似乎不太走运。我以前用过 Mocha/Chai 和 Jasmine,但我不确定如何在这里做我想做的事。 这是我要测试的功能 const lo
我想弄清楚为什么有时 tf.GradientTape().gradient 会返回 None ,所以我使用了以下三个损失函数( mmd0() 、 mmd1() 、 mmd2() ),尽管格式和 mms
我正在尝试为我的传单插件实现单元测试,我当前的选择是使用磁带。不幸的是,一旦我在测试中需要传单: var L = require('leaflet'); var test = require('tap
在 Node js 中使用磁带模拟单元测试中的方法的方法是什么?我在自述文件中没有找到任何内容。我对 Node js 很陌生,所以这个问题对某些人来说似乎很简单。 请提供一些建议。 最佳答案 tape
我可以使用 TapGestureRecognizer 检查点击开始和结束的时间吗? 最佳答案 TapGestureRecognizer 已经存在几年了,不幸的是,它仍然非常有限(意味着只能识别完全点击
我正在创建一个游戏,我试图在两侧的风景变化很大的情况下做一个效果,我没有使用 sprite 套件或任何东西,只是 UIKit,因为它是一个简单的游戏。基本上我有一个 png,它是 iPhone 5 屏
我目前正在开发一个非常大的模块化网络应用程序。其中前端是使用 AngularJS 1.x 实现的。该项目已有大约 2 年历史,并且在开发过程中从未进行过任何单元测试。现在需要为至少 85% 的 Ang
我有一个问题,当用户单击标注时,CalloutAccessoryControlTapped 永远不会被调用。这在 Apple map 中是否已删除或更改? 在 iOS 5 中,我的调用如下所示: (图
我正在使用 Python 3.6.2 和 Bokeh 1.0.4 在我的绘图中创建自定义 JavaScript 回调。 通过点击图中的一个点,我希望突出显示 id 列中共享相同属性的所有点。 使用 J
假设我有以下 React组件: import React from 'react' import AppBar from 'material-ui/lib/app-bar' class NavBar
我正在调试第三方库单元测试。测试用例正在使用磁带和磁带运行来运行。它使用以下命令来运行测试用例。 "test": "browserify -x react-native -x react/addons
Square有个开源项目名称Tape http://square.github.io/tape/实现持久文件支持队列。所有示例似乎都表明可以从主线程将对象添加到队列中。然而,android 的所有其他
在具有嵌入层和 SimpleRNN 层的模型中,我想为每个步骤 t 计算偏导数 dh_t/dh_0。 我的模型结构,包括导入和数据预处理。 有毒评论列车数据可用:https://www.kaggle.
我一直在尝试使用 Tape 测试我的 ES6 代码断言和Nightmare.js加载测试页。我一直在尝试不同的 ES6 方法:async/await、yield、generators,我认为我有点超出
我有一个 ListView,其中有两个事件“ItemTapped”和“ItemSelected”,当用户选择该项目时,应该出现警报“您选择的项目”,当用户点击该项目时,应该出现警报“您点击了项目”出现
我有一个 ListView,其中有两个事件“ItemTapped”和“ItemSelected”,当用户选择该项目时,应该出现警报“您选择的项目”,当用户点击该项目时,应该出现警报“您点击了项目”出现
我是一名优秀的程序员,十分优秀!