Açıklayamadığım bir davranışla karşılaşıyorum. import
veya require
'un kullanılmasına bağlı olarak, bu test başarıları (import
) veya başarısız olur (require
). durumunda'İhtiyaç' es6'dan farklı olarak nasıl çalışır?
başarısız, ben aşağıdaki hata:
import { Map, List } from 'immutable';
const expect = require("expect");
// import expectImmutable from "expect-immutable";
const expectImmutable = require("expect-immutable");
expect.extend(expectImmutable);
describe("immutability",() => {
describe("a number",() => {
function increment(currentState) {
return currentState + 1;
}
it("is immutable",() => {
expect(List([1])).toEqualImmutable(List([1]));
expect(Map({ a: 1 })).toEqualImmutable(Map({ a: 1 }));
let state = 42;
let nextState = increment(state);
expect(List([nextState])).toEqualImmutable(List([43]));
expect(List([state])).toEqualImmutable(List([42]));
});
});
});
kimse sahnenin arkasında neler olduğunu dair bir açıklama var mı:
İştePhantomJS 2.1.1 (Windows 7 0.0.0) immutability a number is immutable FAILED undefined is not a constructor (evaluating 'expect((0, _immutable.List)([1])).toEqualImmutable((0, _immutable.List)([1]))')
kodudur?
yine de transpiling konum olarak en kısa sürede - neden require' 'ile kod arasındaki farkı kontrol etmek ve (aynı zamanda' require' olacaktır) transpiled 'import' yok? – zerkms
Muhtemelen gereksinim duyduğunuz nesnenin varsayılan özelliğini arıyorsunuzdur, 'require ("expect")' ı deneyin. Default 've 'require (" expect-immutable "). – maioman