Saya sedang belajar membuat tes Unit sederhana untuk akhirnya (dan mudah-mudahan) mulai melakukan hanya TDD; untuk saat ini saya mencoba menulis tes untuk kode yang sudah ditulis untuk melihat apa yang mungkin menyebabkan masalah. Ini salah satunya.
Katakanlah saya memiliki kelas sederhana ini (dengan Typescript-> Javascript):
class PrivateStuff {
greeting: string;
private _thisIsPrivate;
constructor(isPrivate: boolean) {
this._thisIsPrivate = isPrivate;
}
setPrivate(option) {
this._thisIsPrivate = option;
console.log("_thisIsPrivate changed to : " + option);
}
getPrivate() {
console.log("_thisIsPrivate is : " + this._thisIsPrivate);
return this._thisIsPrivate;
}
}
Dan saya menggunakannya dengan cara ini:
let privateStuff = new PrivateStuff(false);
let buttonSet = document.createElement('button');
buttonSet.textContent = "Set True";
buttonSet.onclick = function () {
privateStuff.setPrivate(true);
}
let buttonGet = document.createElement('button');
buttonGet.textContent = "Get";
buttonGet.onclick = function() {
console.log(privateStuff.getPrivate());
}
document.body.appendChild(buttonSet);
document.body.appendChild(buttonGet);
setPrivate()
tidak perlu mengembalikan apa pun, tetapi karena itu saya tidak dapat mengujinya. Saat membuat unit test untuk itu, haruskah saya refactor kode?
Jika saya melakukan TDD, haruskah saya selalu membuat metode yang mengembalikan sesuatu hanya untuk dapat mengujinya? Atau saya melewatkan sesuatu?
PS Anda dapat melihat dan menjalankan kode di sini