Ich verwende intern zum Testen in meinem Knotenprojekt, jedoch weiß ich nicht, wie ich den Praktikanten richtig einrichten soll, sodass er die Datenbank "test" anstelle der "Entwicklungsdatenbank" verwendet process.env.NODE_ENV = "test"
in meine Testdatei, aber es funktioniert nicht. Mein intern.js
Datei ist nur die Standarddatei und mein interner Befehl ist /node_modules/.bin/intern-client config=tests/intern
. Alle Tests wurden ordnungsgemäß ausgeführt, außer dass die Daten in der Entwicklungsdatenbank und nicht in der Testdatenbank generiert wurden. Weiß jemand, wie man das repariert? Vielen Dank!
Hier ist einer meiner Testfälle in meiner Testsuite, die die Daten zur Datenbank hinzufügen
tdd.test("normal user creation", function(){
var name = chance.name();
return models.User.create({
name: name,
gender: chance.gender(),
email: chance.email(),
balance: 0.0,
phone_number: chance.phone({country: "ca", mobile: true})
}).then(function (user) {
return assert.strictEqual(name, user.name, "user name should " +
"be equal to each other");
}).catch(function (error) {
throw new Error(error.message);
});
});
Antworten:
0 für die Antwort № 1Endlich habe ich die Lösung gefunden. In dem package.json
Datei, stellen Sie die scripts
Option als
"scripts": {
"start": "node src/index.js",
"test": "set NODE_ENV=test&&intern-client config=tests/intern"
},
dann renne npm test
Der Praktikant führt die Testbasis nun auf der Testdatenbank aus