0.0.1 • Published 2 years ago
cover-every v0.0.1
cover-every
A simple tool for generating test cases in JSON format. It makes easier for you to perepare decision tables for software testing. You don't have to input data to every cell manually any more.
- It can be used for any level of testing, like Unit Test, Combination Test, System Test, Browser Test etc.
- It handles multibyte string, so it provides high readability even if outside English-speaking countries.
Installation
npm install cover-every --save-dev
Usage
const example_domain = {
"Given":{
"Student":{
"Course":[
"Bachelor",
"Master",
"Doctor",
],
"Grade":[
"1",
"2",
"3",
"4",
]
}
},
"When":[
"Try to login",
],
"Then":[
"Pass",
"Fail",
"Any",
],
} as const;
const default_tree = {
"Given":{
"Student":{
"Course":"Bachelor",
"Grade":"1",
}
},
"When":"Try to login",
"Then": "Any",
} as const;
const exclusions = [
{
"Given.Student.Course" : "Master",
"Given.Student.Grade" : "3",
},
{
"Given.Student.Course" : "Master",
"Given.Student.Grade" : "4",
},
{
"Given.Student.Course" : "Doctor",
"Given.Student.Grade" : "4",
},
] as const;
const perspectives = [
{
"title": "Only Bachelors can login.",
"constants": {
},
"variables": [
"Given.Student.Course",
"Given.Student.Grade",
],
"setThen": (test)=>{
if(test["Given.Student.Course"] === "Bachelor"){
test["Then"] = "Pass";
}else{
test["Then"] = "Fail";
}
return test
}
}
] as const;
const tests = generateTests(
example_domain,
default_tree,
exclusions,
perspectives,
)
console.log(tests)
/*
[
{
'Given.Student.Course': 'Bachelor',
'Given.Student.Grade': '1',
When: 'Try to login',
Then: 'Pass',
Perspective: 'Only Bachelors can login.',
ID: '1'
},
{
'Given.Student.Course': 'Bachelor',
'Given.Student.Grade': '2',
When: 'Try to login',
Then: 'Pass',
Perspective: 'Only Bachelors can login.',
ID: '2'
},
{
'Given.Student.Course': 'Bachelor',
'Given.Student.Grade': '3',
When: 'Try to login',
Then: 'Pass',
Perspective: 'Only Bachelors can login.',
ID: '3'
},
{
'Given.Student.Course': 'Bachelor',
'Given.Student.Grade': '4',
When: 'Try to login',
Then: 'Pass',
Perspective: 'Only Bachelors can login.',
ID: '4'
},
{
'Given.Student.Course': 'Master',
'Given.Student.Grade': '1',
When: 'Try to login',
Then: 'Fail',
Perspective: 'Only Bachelors can login.',
ID: '5'
},
{
'Given.Student.Course': 'Master',
'Given.Student.Grade': '2',
When: 'Try to login',
Then: 'Fail',
Perspective: 'Only Bachelors can login.',
ID: '6'
},
{
'Given.Student.Course': 'Doctor',
'Given.Student.Grade': '1',
When: 'Try to login',
Then: 'Fail',
Perspective: 'Only Bachelors can login.',
ID: '7'
},
{
'Given.Student.Course': 'Doctor',
'Given.Student.Grade': '2',
When: 'Try to login',
Then: 'Fail',
Perspective: 'Only Bachelors can login.',
ID: '8'
},
{
'Given.Student.Course': 'Doctor',
'Given.Student.Grade': '3',
When: 'Try to login',
Then: 'Fail',
Perspective: 'Only Bachelors can login.',
ID: '9'
}
]
*/
0.0.1
2 years ago