การทดสอบเชิงมุมของดอกมะลิ - เป็นไปได้ไหมที่จะเพิ่มคุณลักษณะในวิธีการอธิบาย?

ฉันยังใหม่กับการทดสอบ jasmine และมาจากพื้นหลัง xUnit .Net

เป็นไปได้หรือไม่ที่จะติดป้ายกำกับการทดสอบหรือชุดการทดสอบในลักษณะนี้:

[SomeAttribute]

 describe("A suite", function() {
   it("contains spec with an expectation", function() {
           expect(true).toBe(true);   
             });
 });

jasmine รองรับ แอตทริบิวต์หรือตัวระบุประเภทใดๆ หรือไม่ เป้าหมายของฉันคือการรันกลุ่มการทดสอบแบบอธิบายสองครั้ง โดยมีการตั้งค่าที่แตกต่างกันระหว่างการทดสอบ ฉันไม่ต้องการทำซ้ำการทดสอบ เป็นไปได้ไหมที่การทดสอบจะเริ่มการทดสอบอื่นๆ?

คำถามนี้สมมติว่าฉันพอใจกับการทำซ้ำขั้นตอนบิลด์เพื่อรันชุดทดสอบสองครั้ง เพียงกับชุดย่อยของการทดสอบสำหรับการรันครั้งที่สอง

แก้ไข: ตัวอย่างที่สมจริงยิ่งขึ้นว่าฉันหวังว่าจะบริโภคมันอย่างไร

[Theory]
[TestData(true)]
[TestData(false)]
 describe("A suite", function() {

    beforeEach(() => {
     configureTestBed(/*someHow get input*/);
    });

   it("contains spec with an expectation", function() {
           expect(true).toBe(true);   
             });
 });

person asdf    schedule 09.07.2018    source แหล่งที่มา
comment
การตั้งค่าจะมาจากไหน? จากไฟล์ภายนอก? จาก karma.conf? ฯลฯ?   -  person Bk Santiago    schedule 09.07.2018
comment
เพิ่มการแก้ไข OP เพื่อแสดงให้เห็นว่าฉันหวังว่าจะใช้งานมันอย่างไร โดยรับแรงบันดาลใจจากทฤษฎีการทดสอบแบบกำหนดพารามิเตอร์อีกครั้ง: andrewlock.net/ หากฉันสามารถระบุ karma.conf อื่นที่อาจทำงานได้เช่นกันหากฉันสามารถอ่านการตั้งค่านั้นจากการกำหนดค่าเตียงทดสอบได้ (จากนั้นชำระให้มีขั้นตอนการสร้างซ้ำเพื่อรันชุดทดสอบสองครั้งจากนั้นจึงทำไวท์ลิสต์คำอธิบายบางอย่าง)   -  person asdf    schedule 09.07.2018


คำตอบ (1)


สิ่งที่คุณสามารถทำได้คือกำหนดฟังก์ชันแยกกันซึ่งจะยอมรับพารามิเตอร์จากที่อื่นในโค้ดของคุณ

สิ่งนี้จะทำ:

describe('Sample describe', () => {
    testFunction(1);
});

function testFunction(param1) {
    it('should execute test with params', () => {
        console.log(param1);
        expect(param1).toBe(1);
    });
}
person Yuriy Kravets    schedule 09.07.2018