Я пишу тесты машинописи в Mocha и определил тест следующим образом:
describe("IsDefined", () => {
it("should work right ...", () => {
class Test {
@IsDefined() p1: String = "";
@IsDefined() p2: Date = new Date();
@IsDefined() p3: Number = 0;
}
Затем внутри другого теста в том же блоке describe
я переопределяю класс Test
следующим образом:
it("should have accurately mapped ValidationContext values.", () => {
const options: ValidationOptions = {
each: true,
message: "Wazzzzaaaaaaapppppp????!!!!"
};
class Test {
@IsDefined(options) p1: String = "";
@IsDefined(options) p2: Date = new Date();
@IsDefined(options) p3: Number = 0;
}
const instance = new Test();
Это не сработало.Каким-то образом класс Test
из более раннего метода it
все еще используется для создания instance
, который я создаю, поэтому параметры, передаваемые в декоратор, не отображаются.
Если я переименуюкласс до Test2
, тогда я получаю правильный результат, но я предпочитаю не полагаться на правильное именование классов, используемых в настройке.
Как правильно настроить каждый метод перед it
, чтобыэтого не происходит?