Jasmine Unit Testing
by Matthew Vasallo
HTML
<script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.3.2/require.js"></script>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/jasmine/2.5.2/jasmine.css">
<script src="https://cdnjs.cloudflare.com/ajax/libs/jasmine/2.5.2/jasmine.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jasmine/2.5.0/jasmine-html.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jasmine/2.5.2/boot.js"></script>
JavaScript
describe('Unit Test Workshop Test Suite', () => {
describe('Dog', () => {
it('Make sound when barks', (done) => {
setTimeout(() => {
expect(true).toBe(true);
done();
}, 1000);
});
it('true is equal to true', (done) => {
expect(true).toBeTruthy();
console.log('2nd test done');
return Promise.resolve().then(()=>{
expect(true).toBe(true);
console.log('in promise');
done();
});
});
it('1 is equal to 1', () => {
expect(1).toEqual(1);
console.log('next test');
});
it('2 x 3 is equal to 6', () => {
expect(2 * 3).toEqual(6);
});
});
describe('Async examples', () => {
it('waits for done', (done) => {
setTimeout(() => {
expect(true).toBe(true);
done();
}, 1000);
});
});
});
const can1 = {
flavor: 'grapefruit',
ounces: 12,
};
const can2 = {
flavor: 'grapefruit',
ounces: 12,
};
fdescribe('the La Croix cans on my desk', () => {
it('have all the same properties', () => {
expect(can1).toEqual(can2);
});
it('are not the exact same can', () => {
expect(can1).not.toBe(can2);
});
});