2
votes

Le fournisseur de données Jasmine ne fonctionne pas (jasmine_data_provider_1.using n'est pas une fonction)

J'essaie de réaliser des tests basés sur les données dans mon projet en utilisant des fournisseurs de données jasmine.

J'ai un fichier data.ts comme ci-dessous

TestSuite encountered a declaration exception
configuration-parser.js:48
  - TypeError: jasmine_data_provider_1.using is not a function


0 commentaires

4 Réponses :


2
votes

Vous devez changer le type d'importation. Essayez de remplacer:

describe('example test', () => {
    using(hardshipTestData.scenarios, (data) => {
        it('should calc with operator -', () => {
            console.log(data.isHome);
        });
    });
});

par:

const using = require('jasmine-data-provider');

Aussi, gardez à l'esprit que tout d'abord devrait être le bloc describe :

import { using } from 'jasmine-data-provider';


2 commentaires

Merci d'avoir répondu. import {using} from 'jasmine-data-provider'; const using = require ('jasmine-data-provider'); Pouvez-vous m'expliquer la différence entre l'importation de et exigent. Quand utilisons-nous l'importation et quand utilisons-nous require? peu confus nouveau dans les scripts.


il s'agit de différents types de modules. Tapez simplement google "Types de modules en js"



0
votes

Ajoutant à la réponse d'Oleksii, sa réponse est pour le tapuscrit. mais si vous souhaitez utiliser en javascript simple, utilisez ci-dessous:

Ajoutez ci-dessous dans votre code:

var jasminedatasetobj = require("./jasmineDataDrivenData");
var using = require('jasmine-data-provider');

using(jasminedatasetobj.datadrive, function (data, description) {
it('Open NonAngular js website Alerts', async() => {


    await browser.get("https://qaclickacademy.github.io/protocommerce/");
    element(by.name("name")).sendKeys(data.name);

});
});

Exemple:

var using = require('jasmine-data-provider');


0 commentaires

0
votes

Vous devrez peut-être indiquer le chemin complet du fournisseur de données Jasmine pour le javascript brut pour éviter l'erreur module not found.

  var jsondataobj = require('../../../../config/Jsoninput.json');//define  the data source location
    var using = require('C:/Users/sam/AppData/Roaming/npm/node_modules/jasmine-data-provider'); 

    describe("Test Jasmine Data provider",function(){


0 commentaires

0
votes

vous devez déclarer la variable pour "jasmine-data-provider", car l'importation peut utiliser pour importer les propriétés / classes. au lieu d'utiliser la variable, vous pouvez donner n'importe quel nom à la variable (j'ai essayé d'utiliser "post" au lieu de "using" et cela fonctionne toujours comme prévu)

votre code devrait ressembler à

import { hardshipTestData } from "../Test";

const using = require("jasmine-data-provider");

describe("Login TestCases", () => {
using(hardshipTestData.scenarios, (alldata: any, alldesc: any) => {
        it("login with different credentials", async () => {
 console.log(data.isHome);
})
})
})


0 commentaires