Skip to content

Instantly share code, notes, and snippets.

@bepitulaz
Last active February 22, 2017 05:09
Show Gist options
  • Save bepitulaz/d3b0c26509c62fb394bb15729a0d8c93 to your computer and use it in GitHub Desktop.
Save bepitulaz/d3b0c26509c62fb394bb15729a0d8c93 to your computer and use it in GitHub Desktop.
Sample of unit testing in my article.
/**
* Fungsi ini digunakan untuk menghitung harga barang setelah diskon.
* @param {Number} discountRate - nilai diskon yang diberikan
* @param {Number} originalPrice - harga barang sebelum diskon dalam Rupiah
* @returns {Number}
*/
function calculateDiscount(originalPrice, discountRate) {
let discount = originalPrice * discountRate / 100;
return originalPrice - discount;
}
/**
* Unit testing dilakukan tanpa testing framework.
* Pada kenyataannya pengujian selalu menggunakan unit testing framework.
* @param {Number} expectedValue - nilai yang diharapkan
* @param {Number} testedValue - nilai yang akan diuji
* @returns {Boolean}
*/
function simpleTest(expectedValue, testedValue) {
if(expectedValue === testedValue) {
return true;
} else {
return false;
}
}
// Skenario pengujian 1:
// Jika harga 10000 dan diskon 20%, hasil seharusnya true.
simpleTest(8000, calculateDiscount(10000, 20));
// Skenario pengujian 2:
// Jika harga dimasukkan berupa array dan diskon 20%, hasil seharusnya false.
simpleTest(8000, calculateDiscount([10000, 2000], 20));
// Skenario pengujian 3:
// Jika harga dimasukkan berupa Number dan diskon berupa string, hasil seharusnya false.
simpleTest(8000, calculateDiscount(10000, "abc"));
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment