1.0.7 • Published 10 months ago

@flemist/test-variants v1.0.7

Weekly downloads
-
License
Unlimited Free
Repository
github
Last release
10 months ago

NPM Version NPM Downloads Build Status Test Coverage

Runs a test function with all possible combinations of its parameters.

Usage

Sync only

const result = []
const testVariants = createTestVariants(({a, b, c}: { a: number, b: string, c: boolean }) => {
    result.push([a, b, c])
})
const count = await testVariants({
    a: [1, 2],
    b: ['3', '4'],
    c: [true, false],
})({
  pauseInterval: 10000, // pause after each 10 seconds and log inerations count, it needed for karma tests
  pauseTime: 10, // continue after 10 milliseconds
})

// result == [
//     [1, '3', true],
//     [1, '3', false],
//     [1, '4', true],
//     [1, '4', false],
//     [2, '3', true],
//     [2, '3', false],
//     [2, '4', true],
//     [2, '4', false],
// ]
// count == 8

Async

const result = []
const testVariants = createTestVariants(async ({a, b, c}: { a: number, b: string, c: boolean }) => {
  await delay(10)
  result.push([a, b, c])
})
const count = await testVariants({
    a: [1, 2],
    b: ['3', '4'],
    c: [true, false],
})() // no extra parameters

Calculable variants

const result = []
const testVariants = createTestVariants(async ({a, b, c}: { a: number, b: number, c: number }) => {
  await delay(10)
  result.push([a, b, c])
})
const count = await testVariants({
    a: [1, 2],
    b: ({a}) => [ a + 1, a + 2 ], // you can use 'a', but you can't use 'c' because it will initialize after 'b' 
    c: ({a, b}) => [ a, b, a + b ],
})()

License

Unlimited Free

1.0.7

10 months ago

1.0.6

1 year ago

1.0.5

1 year ago

1.0.4

1 year ago

1.0.3

1 year ago

1.0.2

2 years ago

1.0.0

2 years ago

0.0.10

3 years ago

0.0.11

3 years ago

0.0.12

3 years ago

0.0.13

3 years ago

0.0.14

3 years ago

0.0.1

3 years ago

0.0.3

3 years ago

0.0.2

3 years ago

0.0.15

3 years ago

0.0.9

3 years ago

0.0.16

3 years ago

0.0.8

3 years ago

0.0.5

3 years ago

0.0.4

3 years ago

0.0.7

3 years ago

0.0.6

3 years ago

0.0.0

3 years ago