oktatas:web:javascript:javascript_teszt:jasmine:peldak:osztalyok
Tartalomjegyzék
Jasmine - Triangle osztály tesztje
- Szerző: Sallai András
- Copyright © 2022, Sallai András
- Licenc: CC BY-SA 4.0
- Web: https://szit.hu
Bevezetés
Ez a mintafeladat egy ECMAScript modul tesztelését mutatja be.
Könyvtárszerkezet és fájlok
app01/ |-spec/ | `-support/ | `-jasmine.json |-src/ | |-css/ | | `-style.css | |-js/ | | |-app.js | | `-triangle.js | `-index.html |-test/ | `-triangle.spec.js |-.gitignore |-bs-config.json `-package.json
Az src
- src/js/triangle.js
export class Triangle { constructor() { this.area = 0; } calcArea(base, height) { return base * height / 2; } }
- src/js/app.js
import { Triangle } from "./triangle.js"; const triangle = new Triangle(); var area = triangle.calcArea(30, 35); console.log("Terület: " + area);
- src/index.html
<!DOCTYPE html> <html lang="hu"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Háromszög</title> <link rel="stylesheet" href="css/style.css"> </head> <body> <div class="container"> <h1>Háromszög</h1> </div> <script type="module" src="js/app.js"></script> </body> </html>
package.json
- package.json
{ "name": "app01", "version": "1.0.0", "main": "index.js", "license": "MIT", "type": "module", "scripts": { "test": "jasmine", "start": "npx lite-server" }, "devDependencies": { "lite-server": "^2.6.1" "jasmine": "^4.5.0" }, }
Szükség van a „type”: „module” beállításra is ECMAScript modul tesztelésére.
A teszt
- spec/support/jasmine.json
{ "spec_dir": "test", "spec_files": [ "**/*[sS]pec.?(m)js" ], "helpers": [ "helpers/**/*.?(m)js" ], "env": { "stopSpecOnExpectationFailure": false, "random": true } }
- test/triangle.spec.js
import { Triangle } from "../src/js/triangle.js"; describe("Mintatesztek", () => { it('30, 35-re 525.0 működik', () => { const tri = new Triangle(); expect(tri.calcArea(30, 35)).toBe(525.0); }) it('A calcArea() létezik', () => { const tri = new Triangle(); expect(tri.calcArea()).toBeDefined(); }) it('Az area tulajdonság létezik', () => { const tri = new Triangle(); expect(tri.area).toBeDefined(); }) })
Fontos, hogy az import sor végén a triangle.js fájlnévnek kötelező a .js kiterjesztés megadása, szemben például a jest tesztelő eszközzel.
oktatas/web/javascript/javascript_teszt/jasmine/peldak/osztalyok.txt · Utolsó módosítás: 2023/08/23 07:58 szerkesztette: admin