我有一个基础测试类,我在其中定义应该在所有测试文件中使用的全局数据。在相应的测试文件中,我导入了所需的数据集。
在我的测试套件中,我有before()
和after()
个钩子。在before()函数中,我想创建一个新对象,其中包含我在文件顶部导入的数据。但是,回调挂钩函数中的数据未定义。
我觉得令人困惑的是,我可以访问测试用例中的数据:
import { app, token, storeData, cartData } from "./BaseTest.test";
describe("Test Cart Controller", () => {
before(function(done) {
// create test store for carts to be associated with
new Store(storeData).save().then((store: any) => { // UNDEFINED HERE
cartData.store = store._id;
done();
});
});
describe("tests creation of carts", () => {
it("creating with POST to /carts should yield 201", (done) => {
chai.request(app) // VALID HERE THOUGH
.post("/api/carts")
.send(cartData)
.set({"Authorization": "Bearer " + token })
.end(function (err: Error, res: Response) {
expect(res).to.have.status(201);
done();
}
});
});
});
有人可以帮忙吗?