Проблема с несколькими тестами с использованием Mocha, Supertest - PullRequest
0 голосов
/ 29 апреля 2020

Я пытаюсь протестировать все конечные точки с помощью супертестов при создании и интеграции новых бизнес-логи c в моем приложении express. Пока все работало до тестирования приложения № 3, все тесты были выполнены и прошли успешно. Но как только я опишу контрольный пример для нового приложения - приложение № 4, все мои предыдущие тесты POST не пройдут. Если я перезапущу тесты без новых тестов, все пройдет успешно. Если я перезапущу только новые тесты, все пройдет успешно. Сбой происходит только тогда, когда я пытаюсь запустить все тесты одновременно.

Может кто-нибудь, пожалуйста, помогите мне, в чем может быть проблема здесь. Я что-то упускаю из виду? Спасибо за помощь!

const request = require('supertest');
const app = require('../app');
let subApp = { name:'', baseURL:'' };
console.log = function(m){};
// Root
describe("Elevar 2.0", ()=>{
    it("GET  /", (done)=>{
        request(app)
            .get("/")
            .expect(200, done)
    })
});

// App#1 | Order Allocator
subApp.name = 'Order Allocator'
subApp.baseURL = 'allocator'
describe(`${subApp.name}`, ()=>{

    it(`GET  /${subApp.baseURL}`, (done)=>{
        request(app)
            .get(`/${subApp.baseURL}`)
            .expect(200, done)
    })

    it(`POST /${subApp.baseURL}/upload`, (done)=>{

        request(app)
            .post(`/${subApp.baseURL}/upload`)
            .attach('filetoupload','test/app-1-order-allocator-test.csv')
            .expect(200,done)
    })
});

// App#2 | Returns Tagger
subApp.name = 'Returns Tagger'
subApp.baseURL = 'returns'
describe(`${subApp.name}`, ()=>{
    it(`GET  /${subApp.baseURL}`, (done)=>{
        request(app)
            .get(`/${subApp.baseURL}`)
            .expect(200, done)
    })

    it(`POST /${subApp.baseURL}/upload`, (done)=>{

        request(app)
            .post(`/${subApp.baseURL}/upload`)
            .attach('filetoupload','test/app-2-returns-tagger-test.xlsx')
            .expect(200, done)
    })

});

// App#3 | Replacement Automator
subApp.name = 'Replacement Automator'
subApp.baseURL = 'replacement'
describe(`${subApp.name}`, ()=>{

    it(`GET  /${subApp.baseURL}`, (done)=>{
        request(app)
            .get(`/${subApp.baseURL}`)
            .expect(200,done)      
    })

    it(`POST /${subApp.baseURL}/upload`, (done)=>{
        request(app)
            .post(`/${subApp.baseURL}/upload`)
            .attach('filetoupload','test/app-3-replacement-automator-test.xlsx')
            .expect(200, done)
    })

});

// ======================= NEW APP TO TEST ===========================
// App#4 | Shipping Service Selector
subApp.name = 'Shipping Service Selector'
subApp.baseURL = 'shipment'
describe(`${subApp.name}`, ()=>{

    it(`GET  /${subApp.baseURL}`, (done)=>{
        request(app)
            .get(`/${subApp.baseURL}`)
            .expect(200,done)      
    })

    it(`POST /${subApp.baseURL}/upload`, (done)=>{
        request(app)
            .post(`/${subApp.baseURL}/create`)
            .expect(200, done)
    })

});
...