Как разделить одни и те же контрольные примеры между наборами в транспортире
У меня есть несколько тестовых случаев, которые можно разделить между тестовыми наборами
Допустим, наборы x и suite y используют один и тот же набор тестовых случаев (он функционирует).
Я сделал отдельный файл.js с общим кодом, который выглядит примерно так.
module.exports = function(a,b){
//...
test cases..
//....
}
Я пытаюсь использовать этот модуль в х и у
вот так выглядит х
var common = require('./module');
describe("description", module(a,b);
это можно сделать? Есть ли другой путь?
Общий JS в моем коде выглядит так
module.exports = function(a,b) {
beforeAll(function(){
//some code
}
afterAll(function(){
//some code
}
It(‘ads’, function(){
code
}
it(‘ads’, function(){
code
}
it(‘ads’, function(){
code
}
}
я хочу использовать это в качестве аргумента функции для функции описания с проходимыми параметрами в двух других пакетах.
Suite1
var common = ('./common');
describe('this is a test case', common(a,b);
Это возможно?
2 ответа
Насколько я знаю, вы не можете напрямую запустить "это" из другого файла. Однако вы можете запускать функции, а функция может делать все, что может делать "она". Например:
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();
}
}
Если у вас есть файл 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);
});
});