Testing async code with Jasmine and async/await
Uses Jasmine 3.5
by Joe Wilson
HTML
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/jasmine/3.5.0/jasmine.min.css">
<script src="https://cdnjs.cloudflare.com/ajax/libs/jasmine/3.5.0/jasmine.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jasmine/3.5.0/jasmine-html.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jasmine/3.5.0/boot.min.js"></script>
JavaScript
describe("Testing async functions", () => {
it("Should work with async/await", async () => {
// Arrange
let flag = false;
// Act
flag = await returnTrueAsync();
// Assert
expect(flag).toBeTruthy();
});
});
function returnTrueAsync() {
return new Promise(resolve => {
setTimeout(() => {
resolve(true);
}, 1000);
});
}