Tôi đang học cách tạo các bài kiểm tra Đơn vị đơn giản để cuối cùng (và hy vọng) bắt đầu chỉ làm TDD; bây giờ tôi đang cố gắng viết các bài kiểm tra cho mã đã được viết để xem điều gì có thể gây ra vấn đề. Đây là một trong số họ.
Giả sử tôi có lớp đơn giản này (với Bản mô tả-> 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;
}
}
Và tôi sử dụng nó theo cách này:
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()
không cần trả lại bất cứ điều gì, nhưng vì điều đó tôi không thể kiểm tra nó. Khi tạo một bài kiểm tra đơn vị cho nó, tôi có nên cấu trúc lại mã không?
Nếu tôi đang làm TDD, tôi có nên luôn tạo các phương thức trả về một cái gì đó chỉ để có thể kiểm tra nó không? Hay tôi đang thiếu một cái gì đó?
PS Bạn có thể xem và chạy mã ở đây