Как использовать одни и те же тестовые примеры между наборами в транспортир

У меня есть несколько тестовых примеров, которые можно разделить между наборами тестов

Допустим, пакет x и suite y имеют один и тот же набор тестовых примеров (он функционирует).

Я сделал отдельный .js-файл, который имеет общий код, который выглядит примерно так.

module.exports = function(a,b){
//...
test cases..
//....
}

Я пытаюсь использовать этот модуль как для x, так и для y

это как выглядит х

var common = require('./module');

describe("description", module(a,b);

это можно сделать? Есть ли другой путь?

Общий js в моем коде выглядит так:

module.exports = function(a,b) {

beforeAll(function(){
//some code
}
afterAll(function(){
//some code
}

It(a€?adsa€™, function(){
code
}

it(a€?adsa€™, function(){
code
}

it(a€?adsa€™, function(){
code
}


}

Я хочу использовать это как аргумент функции для функции описания с пассивными параметрами в двух других наборах.

Suite1

var common = ('./common');
describe('this is a test case', common(a,b);

Это возможно?

javascript,angular,selenium,jasmine,protractor,

0

Ответов: 2


0 принят

Насколько я знаю, вы не можете напрямую запустить «это» из другого файла. Однако вы можете запускать функции, и функция может делать все, что может «сделать». Например:

Helper.js (Это ваш файл функции)

export class helper{
  static itFunctionOne(){
    //Test code goes here
  }
  static itFuncitonTwo(){
    //Test code goes here
  }
}

И затем в ваших тестах
Test1:

const helper = require('relative/path/to/file/helper.js');
describe('Doing test 1 stuff',function(){
  it('Should run test',function(){
    helper.itFunctionOne();
    helper.itFunctionTwo();
  }
}

test2:

const helper = require('relative/path/to/file/helper.js');
describe('Doing test 2 stuff',function(){
  it('Should run test',function(){
    helper.itFunctionOne();
    helper.itFunctionTwo();
  }
}

1

Если у вас есть файл common.js, похожий на ...

module.exports = function(a,b){
//...
test cases..
//....
}

И ваш файл test.js:

var common = require('./common'); // <-- note the change

describe("description", common); // <-- you were calling module*

Это предполагает, что ваша common.js экспортированная функция является правильно отформатированной функцией описания.

Вы также можете экспортировать отдельные тестовые примеры, такие как (other.js) ...

module.exports = {
    testOne: function(something) { return false; },
    testTwo: function(whatever) { return true; }
}

И ваш тест ...

var other = require('./other');

describe("description", function() {
    it('should pass', function() {
        expect(other.testOne()).toEqual(false);
    });
});
JavaScript, угловой, селен, жасмин, транспортир,
Похожие вопросы