menu
Logo
  • Warum azing?
  • Blog
  • Hilfe
DEarrow_drop_down
  • DE
  • EN
Suche in Checklisten
search
azing Logo DEarrow_drop_down
  • DE
  • EN
  • Warum azing?
  • Hilfe
2sxc
drive_folder_upload
  • homeChecklisten-Vorlagen
  • south
  • fiber_manual_recordZ: Internal Stuff for the 2sxc-Dev Team
  • south
  • fiber_manual_recordSetup Dev Environment
  • south

folder_sharedJS Automation like Npm, Gulp, Grunt, Webpack

  • homeChecklisten-Vorlagen
  • south
  • fiber_manual_recordZ: Internal Stuff for the 2sxc-Dev Team
  • south
  • fiber_manual_recordSetup Dev Environment
  • south

folder_sharedJS Automation like Npm, Gulp, Grunt, Webpack

Ordner und Checklisten

  • check_circleGulp - Install Locally or Globally
  • check_circleTypeScript unit testing with Jasmine
  • check_circleTypeScript unit testing with Jasmine for browsers

Teile (0) expand_more

Teil-Dokumente werden als von anderen Checklisten wiederverwendet, sind aber nicht geeignet als Einstieg in eine Tätigkeit. Deshalb erscheinen sie weiter unten. Die Suche wird diese auch nicht anzeigen, ausser man sucht explizit nach Teilen. 

Description

While developing a typescript (TS) application, unit testing is needed. Also, unit tests are written in TS.

Jasmine is the test framework used to test TS code.

Jasmine standalone is used to execute unit tests, which are executed in node, without browser.

All files with unit tests are in spec folder, with *.spec.ts extension.

The structure of spec folder should be similar to the structure of src folder (where is code).

Jasmin standalone configuration is in spec\support\jasmine.json.

Unit tests are executed with npm test, or from vscode Test Explorer UI extension.

Pre req

  • .gitignore, git init; git add .; git commit
  • npm init
  • npm install --save-dev typescript
  • npx tsc --init
  • tsconfig.json
    {"compilerOptions":
    {"target": "es2016",
    "module": "commonjs",
    "lib": ["es2016","dom"],
    "allowJs": true,
    "sourceMap": true,
    "rootDir": "./src",
    "strict": true,
    "esModuleInterop": true,
    "forceConsistentCasingInFileNames": true
    }
    }
  • npm install --save-dev webpack webpack-cli webpack-dev-server
  • npm install --save-dev ts-loader
  • webpack.config.js
    const path = require('path');
    module.exports = {
        entry: './src/index.ts',
        devtool: 'inline-source-map',
        module: {
            rules: [
                {
                    test: /\.tsx?$/,
                    use: 'ts-loader',
                    exclude: /node_modules/,
                    include: [
                        path.resolve(__dirname, "src")
                    ],
                },
            ],
        },
        resolve: {
            extensions: [ '.tsx', '.ts', '.js' ],
        },
        output: {
            filename: 'bundle.js',
            path: path.resolve(__dirname, 'dist'),
        },
    };
  • add script to package.json
    "build": "npx webpack --config=webpack.config.js"
    npm run build

Jasmine standalone

  • npm install --save-dev jasmine @types/jasmine
  • npm install --save-dev ts-node jasmine-ts
  • npm install --save-dev jasmine-spec-reporter
  • jasmine.json
    {
      "reporters": [
        {
          "name": "jasmine-spec-reporter#SpecReporter",
          "options": {
            "displayStacktrace": "all"
          }
        }
      ],
      "spec_dir": "spec",
      "spec_files": ["**/*.[sS]pec.ts"]
    }
  • add script to package.json
    "test": "jasmine-ts"
    npm test

More info

https://jasmine.github.io/pages/getting_started.html

 

Logo
Rechtliches | Inhalts-Copyright CC-BY 4.0
bug_reportFehler melden
  • info
  • Links
  • Rechte
code Teilen
code
URL in Zwischenablage kopiert.
Checkliste einbetten close
Kopieren Kopieren
Inhalts-Copyright

CC-BY 4.0

Übersetzungen

Keine

2sxc - Content Management for DNN & Oqtane Logo

2sxc - Content Management for DNN & Oqtane

QR-Code
azing.org/2sxc/r/0tAcEAPR
Anschauen & Verwenden

Öffentlich (nutzbar für jeden)

Bearbeiten & Verwalten

Standard (alle Mitglieder können bearbeiten)

Dieser Katalog verwendet ein einfaches Berechtigungsmodell, bei dem alle Mitglieder die selben Rechte haben. Für weitere Optionen, bitte Upgraden.

Hier siehst du die Beziehungen zwischen diesem Dokument und anderen.

Verwendet in (0)

Andere, die hierhin verweisen

Verwendet diese (0)

Andere, die in diesem Dokument verwendet werden

Wie es verwendet wird

Die Kategoriesierung verändert das Verhalten des Dokuments.

Dies ist ein normales Dokument, es wird normal angezeigt und erscheint in der Suche.

Typ

Das ist eine Checkliste. Listen werden zu Checkboxen umgewandelt.

Haben Sie etwas zu sagen?

Kommentieren Sie, um eine Diskussion zu beginnen oder eine Notiz zu machen
send

Bitte einloggen um zu chatten.

close

Durchsuche ganz Azing