Как протестировать машинописное приложение, используя шутку с тестированием библиотеки? - PullRequest
0 голосов
/ 02 февраля 2020

Я пытаюсь протестировать приложение для машинописи (без каких-либо фреймворков js). Но понятия не имею об этом. Можно ли вообще тестировать библиотеку тестирования?

Кто-нибудь поделится со мной руководством или поможет мне проверить этот простой файл TS?

Вот мой файл TS с файлом теста:

export default class MyClass {
    constructor() {
        this.render();
    }

    render() {

        const el: HTMLInputElement = document.createElement('input') as HTMLInputElement;
        const link: HTMLAnchorElement = document.createElement('a') as HTMLAnchorElement;
        const container: HTMLBodyElement = document.querySelector('body') as HTMLBodyElement;

        link.innerHTML = 'Click Me!';
        link.setAttribute('href', '#');
        link.setAttribute('target', '_blank');

        el.setAttribute('type', 'file');
        container.appendChild(el);
        container.appendChild(link);

        el.addEventListener('change', (event) => {
            if ('files' in el) {
                const availFile: File = el.files![0];
                const blob = new Blob([availFile], { type: availFile.type });

                const objectURL = window.URL.createObjectURL(blob);
                link.setAttribute('href', objectURL);
            }
        });
    }
}

моя попытка с библиотекой тестирования: но я не имею никакого представления о тестировании без js frameworks

import {screen, getByLabelText, getByText, getByTestId, queryByTestId, wait} from "@ testing-library / dom ";

import MyClass from "./index";

describe('testing as first', () => {

    it("renders", () => {

    })

});

вот мой пакет. json:

{
  "name": "webpack",
  "version": "1.0.0",
  "main": "index.js",
  "license": "MIT",
  "scripts": {
    "start": "webpack-dev-server --config=webpack.dev.js",
    "build": "webpack --mode production",
    "test": "jest"
  },
  "devDependencies": {
    "@babel/core": "^7.8.0",
    "@babel/preset-env": "^7.8.2",
    "@babel/preset-typescript": "^7.8.0",
    "@testing-library/dom": "^6.11.0",
    "@types/jest": "^24.0.25",
    "babel-jest": "^24.9.0",
    "html-webpack-plugin": "^3.2.0",
    "jest": "^24.9.0",
    "jestpack": "^0.2.0",
    "ts-jest": "^24.3.0",
    "ts-loader": "^6.2.1",
    "typescript": "^3.7.4",
    "webpack": "^4.41.5",
    "webpack-cli": "^3.3.10",
    "webpack-dev-server": "^3.10.1"
  }
}

Требуются ли для установки дополнительные источники?

1 Ответ

2 голосов
/ 02 февраля 2020

Библиотека тестирования dom предоставляет утилиты тестирования только для тестирования компонентов. Вам не хватает способа визуализации компонента.

Вы можете использовать Cypress для него или Puppeteer. В этих библиотеках также есть библиотека тестирования, позволяющая использовать функции утилиты библиотеки тестирования dom.

...