📢 Registration + agenda now live
Explore the latest Grafana Cloud and AI solutions, learn tips & tricks from demos and hands-on workshops, and get actionable advice to advance your observability strategy. Register now and get 50% off - limited tickets available (while they last!).
import http from'k6/http';import{ describe, expect }from'https://jslib.k6.io/k6chaijs/4.3.4.3/index.js';exportdefaultfunction(){describe('Basic test',()=>{expect({a:1}).to.not.have.property('b');expect(2).to.equal(2);expect({a:1}).to.deep.equal({a:1});expect({a:{b:['x','y']}}).to.have.nested.property('a.b[1]');expect({a:1}).to.have.own.property('a');expect([1,2]).to.have.ordered.members([1,2]).but.not.have.ordered.members([2,1]);expect({a:1,b:2}).to.not.have.any.keys('c','d');expect({a:1,b:2}).to.have.all.keys('a','b');expect('foo').to.be.a('string');expect([1,2,3]).to.be.an('array').that.includes(2);expect('foobar').to.include('foo');expect(1).to.equal(1);expect(true).to.be.true;expect(false).to.be.false;expect(null).to.be.null;expect(undefined).to.be.undefined;expect(NaN).to.be.NaN;expect(1).to.equal(1);expect([]).to.be.empty;expect({}).not.to.be.arguments;expect(1).to.equal(1);expect({a:1}).to.eql({a:1}).but.not.equal({a:1});expect('foo').to.have.lengthOf(3);expect(2).to.equal(2);expect(1).to.equal(1);expect(2).to.be.at.most(3);expect(2).to.equal(2);expect({a:1}).to.not.be.an.instanceof(Array);expect({a:1}).to.have.property('a');expect([1,2,3]).to.have.lengthOf(3);expect('foobar').to.match(/^foo/);expect('foobar').to.have.string('bar');expect({a:1,b:2}).to.have.all.keys('a','b');constbadFn=function(){thrownewTypeError('Illegal salmon!');};expect(badFn).to.throw();expect(1).to.satisfy(function(num){return num >0;});expect(1.5).to.equal(1.5);expect([1,2,3]).to.have.members([2,1,3]);expect('Today is sunny').to.contain.oneOf(['sunny','cloudy']);expect({a:1}).to.be.extensible;expect(1).to.be.finite;});}
When you run this test with k6 run script.js, the output at the end of the test shows:
bash
default ✓ [======================================]1 VUs 00m00.0s/10m0s 1/1 iters, 1 per VU
█ Basic test
✓ expected ${this} to not have property 'b'
✓ expected ${this} to equal 2
✓ expected ${this} to deeply equal { a: 1}
✓ expected ${this} to have nested property 'a.b[1]'
✓ expected ${this} to have own property 'a'
✓ expected ${this} to be an array
✓ expected ${this} to have the same ordered members as [1, 2]
✓ expected ${this} to not have the same ordered members as [2, 1]
✓ expected ${this} to not have keys 'c', or 'd'
✓ expected ${this} to have keys 'a', and 'b'
✓ expected ${this} to be a string
✓ expected ${this} to include 2
✓ expected ${this} to include 'foo'
✓ expected ${this} to equal 1
✓ expected ${this} to be true
✓ expected ${this} to be false
✓ expected ${this} to be null
✓ expected ${this} to be undefined
✓ expected ${this} to be NaN
✓ expected ${this} to be empty
✓ expected ${this} to not be arguments
✓ expected ${this} to not equal { a: 1}
✓ expected ${this} to have property 'length'
✓ expected ${this} to have a length of 3 got ${actual}
✓ expected ${this} to be at most3
✓ expected ${this} to not be an instance of Array
✓ expected ${this} to have property 'a'
✓ expected ${this} to match /^foo/
✓ expected ${this} to contain 'bar'
✓ expected ${this} to be a function
✓ expected ${this} to throw an error
✓ expected ${this} to satisfy [Function]
✓ expected ${this} to equal 1.5
✓ expected ${this} to have the same members as [2, 1, 3]
✓ expected ${this} to contain one of ['sunny', 'cloudy']
✓ expected ${this} to be extensible
✓ expected ${this} to be a finite number