0
Ich habe Probleme Werte in die Datei im Test Einfügen:Jest Mock - Einfügen von Werten in getestet Datei
import device from '../device'
let execute =() => {
if (device.isAndroid()) {
return true
else {
return false
}
}
Jetzt für die Testdatei:
jest.mock('../device')
import device from '../device'
describe('when the device is Android',() => {
let device
beforeEach(() => {
device = jest.fn().mockImplementation(() => {
return {
isAndroid:() => { return true }
}
})
})
it('returns true',() => {
let results = execute()
expect(result).toEqual(true)
})
})
Der Test schlägt fehl und gibt false
. Was mache ich falsch?
Vielen Dank für Ihre Antwort, aber ich bin die folgenden Fehler bekommen: 'Typeerror: device.isAndroid ist keine Funktion - bei Ausführen (src/execute.js). TypeError: Die Eigenschaft 'mockImplementation' von undefined - at Object kann nicht gelesen werden. (src/test/execute.spec.js) 'Irgendwelche Ideen? –
Ben
Nicht sicher, habe meine Antwort aktualisiert, um den Mock direkt auf 'isAndroid' zu verschieben. –
Erstens, du bist ein Genie !! Ich habe es zur Arbeit gebracht. Bitte aktualisieren Sie die obige Antwort und ich werde es als korrekt markieren (nur sicherstellen, dass andere nicht in die Irre gehen). Die erste Zeile sollte 'jest.mock ('../ device',() => {return {isAndroid: jest.fn()}}) sein. Auch 'let device' entfernen, da das Gerät bereits durch die import-Anweisung definiert ist . Das macht es funktioniert. – Ben