test.deepEqual may print incorrect property values for subsequently modified properties SERIOUS ISSUE
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 3/5
- Geschätzter Aufwand
- 1-2 Tage
- Anfängerfreundlichkeit
- 45/100
- Issue-Typ
- Bug
- Klarheit
- Größtenteils klar
- Aktivitätsstatus
- Veraltet
- Tech-Stack
- javascript
- Bereich
- testing-qa
Rechercherichtung
Beginne mit test.deepEqual in lib/types.js und verwende den Stacktrace sowie die Reproduktion nodeunit-changedobject.js als Einstiegspunkte. Führe das mitgelieferte nodeunit-Beispiel aus und vergleiche die Fehlerausgabe mit der erwarteten Ausgabe; abgeschlossen ist die Aufgabe, wenn die gemeldeten Werte weiterhin den beim Aufruf von deepEqual vorhandenen Werten entsprechen und nicht späteren Mutationen.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
test.deepEqual does not examine failing objects immediately, so incorrect values are printed
Reproduction printout
$ nodeunit ../nodejs3/snippets/modules/nodeunit/nodeunit-changedobject.js
nodeunit-changedobject.js
Expected printout: AssertionError: { property: 'object1' } deepEqual { property: 'object2' }
✖ f
AssertionError: { property: 'overwite' } deepEqual { property: 'object2' }
at Object.assertWrapper [as deepEqual] (/usr/local/lib/node_modules/nodeunit/lib/types.js:83:39)
at Object.module.exports.f (/home/foxyboy/Desktop/c505/node/nodejs3/snippets/modules/nodeunit/nodeunit-changedobject.js:13:7)
at Object.wrapTest (/usr/local/lib/node_modules/nodeunit/lib/core.js:235:16)
at wrapTest (/usr/local/lib/node_modules/nodeunit/lib/core.js:235:16)
at Object.exports.runTest (/usr/local/lib/node_modules/nodeunit/lib/core.js:69:9)
at exports.runSuite (/usr/local/lib/node_modules/nodeunit/lib/core.js:117:25)
at _concat (/usr/local/lib/node_modules/nodeunit/deps/async.js:508:13)
at async.forEachSeries.iterate (/usr/local/lib/node_modules/nodeunit/deps/async.js:118:13)
at async.forEachSeries (/usr/local/lib/node_modules/nodeunit/deps/async.js:134:9)
at _concat (/usr/local/lib/node_modules/nodeunit/deps/async.js:507:9)
Reproduction code
// nodeunit-changedobject.js
module.exports.f = function (test) {
var object1 = {
property: 'object1'
}
var object2 = {
property: 'object2'
}
test.deepEqual(object1, object2)
object1.property = 'overwite'
console.log('Expected printout: AssertionError: { property: \'object1\' } deepEqual { property: \'object2\' }')
test.done()
}
- Vorherrschende Sprache
- JavaScript
- Sterne
- 1.9k
- Forks
- 359
- PR-Merge-Kennzahlen
- Keine gemergten PRs in 30 T.
Entwicklungsumgebung
Dieses Projekt bietet weder Dev-Container noch Dockerfile noch Beitragsleitfaden – die Einrichtung liegt bei Ihnen. Beginnen Sie mit der README; die allgemeinen Schritte stehen in unserem Leitfaden für den ersten Beitrag.
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus caolan/nodeunit
-
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 25/100
-
Schwierigkeit 3/5 1-2 Tage Anfängerfreundlichkeit 35/100
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 42/100
-
Schwierigkeit 3/5 1-2 Tage Anfängerfreundlichkeit 35/100
-
Schwierigkeit 5/5 Über eine Woche Anfängerfreundlichkeit 20/100
Alle Issues in caolan/nodeunit
Ähnliche Issues
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 82/100
Maintainer antworten meist innerhalb von 2 Tagen
-
bug
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
swc-project/swc-next#1022 ·
Maintainer antworten meist innerhalb von 1 Tag
-
area-clientside-dartpad
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 66/100
Maintainer antworten meist innerhalb von 2 Tagen
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 65/100
alphagov/public-asset-checker#378 · 1 Kommentar ·
Maintainer antworten meist innerhalb von 1 Tag
-
headers-parser: `forRegExp` does not escape regexp characters in path segments that contain `*`Evtl. vergeben @RaphaelFakhri hat das heute übernommen. Offen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 85/100
Maintainer antworten meist innerhalb von 1 Tag