js-must
js-must copied to clipboard
export expect as alias of must to simplify imports
Hi, love this library, much better and safer than chai.
I'm migrating some test done with mocha, chai and typescript, and just a silly request could you export expect as an alias of the function must?
See if you want to use expect on typescript this is what you need to do:
import must from 'must';
const expect = must;
If you try to do this:
import { must as expect } from 'must';
Typescript parser understands that you want to export the must property on the Object returned by require which is an instance of Must according to must.d.ts, in particular this:
interface Object {
must: Must;
}
Other option would be to change expect to must in my tests, but it looks weird:
await must(testee.load()).must.reject.to.error(Error, 'message');
// must must === very must?
I know this intended to be used this way:
await testee.load().must.reject.to.error(Error, 'message');
But don't feel safe using this notation to be honest.
Cheers!
Hey!
Hmm, I've not used Typescript myself, but that sure sounds weird. Doesn't it have a way rename the default export just like with plain CommonJS you can do var expect = require("must")
?
I definitely want you to be able to rename the default export to expect
if you prefer that over the prototype-extension approach.
The only thing export
ed by Must is declare function must(expected: any): Must;
As it's exporting a single function you can import * as expect from 'must';
Hey! Did @chrisgedrim recommendation fit your use case, @danyg?