Jasmine 如何在测试描述中使用在beforeach中初始化的变量?
我在一个循环中运行了几个测试,我想在测试描述中使用beforeach中的变量Jasmine 如何在测试描述中使用在beforeach中初始化的变量?,jasmine,protractor,Jasmine,Protractor,我在一个循环中运行了几个测试,我想在测试描述中使用beforeach中的变量 for(let i =0; i<3; i++){ describe("action", () => { let variableToUse: string; beforeEach(async () => { variableToUse = await someAction(i); });
for(let i =0; i<3; i++){
describe("action", () => {
let variableToUse: string;
beforeEach(async () => {
variableToUse = await someAction(i);
});
it("some test desc " + variableToUse, async () => {
//some test using variableToUse
});
});
}
for(设i=0;i{
让变量:字符串;
beforeach(异步()=>{
可变=等待某个动作(i);
});
它(“一些测试描述”+可变、异步()=>{
//一些使用变量的测试
});
});
}
我希望控制台显示“some test desc varaibleToUseValue”,但实际输出是“some test desc undefined”let variableToUse:string;
for(设i=0;i{
beforeach(异步()=>{
可变=等待某个动作(i);
});
它(“一些测试描述”+可变、异步()=>{
//一些使用变量的测试
});
});
}
这应该可以:
describe('testbeforeeach - ', function () {
var TestSuiteName = this.getFullName();
var TestVariable = null;
beforeEach(function () {
TestVariable = "abc";
return TestVariable;
});
it(TestSuiteName + 'Test1', function () {
console.log("TestVariable for Test1 ====", TestVariable);
});
it(TestSuiteName + 'Test2', function () {
console.log("TestVariable for Test2 ====", TestVariable);
});
});
请尝试下面给定的代码段
let variableToUse: number;
let i: number;
for(i =0; i<3; i++){
describe("action", async () => {
beforeEach(async () => {
variableToUse = i;
});
it("some test desc " + variableToUse, async () => {
//some test using variableToUse
});
});
}
设变量为:数字;
让我:数字;
对于(i=0;i{
beforeach(异步()=>{
可变=i;
});
它(“一些测试描述”+可变、异步()=>{
//一些使用变量的测试
});
});
}
如果我是你,我会这样做
for(let i =0; i<3; i++){
let variableToUse: string;
describe("action", () => {
beforeEach(async () => {
variableToUse = await someAction(i);
});
it("some test desc " + variableToUse, async () => {
//some test using variableToUse
});
});
}
for(设i=0;i{
beforeach(异步()=>{
可变=等待某个动作(i);
});
它(“一些测试描述”+可变、异步()=>{
//一些使用变量的测试
});
});
}
在这种情况下,您可以避免意外地重用以前执行的值,因为它总是在循环中定义的我尝试将声明移到循环上方,但它仍然没有定义,感谢分享您的完整规范文件,以便在问题上提供更好的输入。因此,请确保您的someAction方法应返回一个值并保存在variabletouse变量中,似乎该方法存在问题。
for(let i =0; i<3; i++){
let variableToUse: string;
describe("action", () => {
beforeEach(async () => {
variableToUse = await someAction(i);
});
it("some test desc " + variableToUse, async () => {
//some test using variableToUse
});
});
}