0.0.7 • Published 5 years ago
@bradmerlin/nonsense v0.0.7
Nonsense generates structured random data.
A step toward simple fuzz testing. Use it for testing code that accepts uncontrollable input 🐊🐊🐊
Usage
import { Generators, Nonsense } from '@bradmerlin/nonsense';
// Define data structure.
let bankAccount = {
accountNumber: Generators.INT,
beneficiaryIDs: Generators.INT(5),
accountType: Generators.CHOICE(['cheque', 'savings', 'credit']),
user: {
fullName: Generators.STRING,
someStaticValue: Generators.VALUE('Do not change'),
},
};
// Create generator
let generator = Nonsense(bankAccount);
// New random values each time the generator generates.
let output = [];
for (let i = 0; i < 3; i++) {
output.push(generator());
// But actually use this in a test.
}
[
{
accountNumber: 1,
beneficiaryIDs: [16, 53, 46, 7, 73],
accountType: 'cheque',
user: {
fullName: "'=S:[~U£Æ¬¥U8SÄ°6µVG)-_^hG¢f12g¨w@ÇMN&~",
someStaticValue: 'Do not change'
}
},
{
accountNumber: 99,
beneficiaryIDs: [84, 33, 5, 99, 74],
accountType: 'cheque',
user: {
fullName: 'F¯ÁI%w·½·\\¯´^ª%X?pSÂ]p®JkE¶º}?Ty
J9¬3³¨À',
someStaticValue: 'Do not change'
}
},
{
accountNumber: 52,
beneficiaryIDs: [25, 6, 3, 33, 43],
accountType: 'savings',
user: {
fullName: 'HEse¼V9I_·CMµS6r·Lª47ºª;4v_P>&<ÇqP®b{PF(l',
someStaticValue: 'Do not change'
}
}
]