Custom test without node using pure javascript
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 5/5
- Geschätzter Aufwand
- Über eine Woche
- Anfängerfreundlichkeit
- 20/100
- Issue-Typ
- Feature
- Klarheit
- Muss geklärt werden
- Aktivitätsstatus
- Veraltet
- Tech-Stack
- javascript
- Bereich
- testing
Rechercherichtung
Das Issue enthält eine Inline-Implementierung einer JavaScript-Testfunktion, nennt jedoch keine Repository-Dateien, Tests oder Einstiegspunkte. Klären Sie zunächst, ob dies zu einem Projekt-Feature werden soll, und legen Sie seinen Umfang fest; für den Abschluss wären ein vereinbarter Implementierungsort und Tests für das vorgeschlagene Verhalten erforderlich.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
Hey, I just tried to create my own test function which kind of similar to the Jest library.
Have been testing for 5 statements below and yet to find any failure.
But for now, it only have 2 functional tests which is expect(value).toBe(other) and expect(value).toEqual(something).
Let me see what do you guys think about this kind of stuff. Is it worth it?
Below is the implementation of the tests
function check(current,other){
if(typeof other !== 'object' && typeof current !== 'object') return current === other;
let equal = false;
for(let prop in other){
if(current[prop] === undefined) throw new Error("FAILED");
equal = equal || check(current[prop],other[prop]);
}
if(!equal) throw new Error("FAILED");
return equal;
}
function test(comment,callback){
let error;
try{
//execute the tests;
callback();
}catch(e){
// Get the result whether it passed or failed
error = e.message;
}
console.log(comment,error === "FAILED" ? "FAILED" : "PASSED");
}
function expect(value){
this.toBe = function(other){
if(value !== other) throw new Error("FAILED");
}
this.toEqual = function(something){
check(value,something);
}
return this;
}
// The tests start HERE
test('Is 2+2 be 4?',() => {
expect(2 + 2).toBe(4); // returns : Is 2+2 be 4? PASSED
});
test('Is 2+3 be 4?',() => {
expect(2 + 3).toBe(4); // returns : Is 2+3 be 4? FAILED
});
test('Is {value:3*3} equal {value:9}?',() => {
expect({value:3*3}).toEqual({value:9}); // returns : Is {value:3*3} equal {value:9}? PASSED
});
test('Is {value:2*3} equal {value:9}?',() => {
expect({value:2*3}).toEqual({value:9}); // returns : Is {value:2*3} equal {value:9}? FAILED
});
test('Is {value:{arr:[6]}} equal {value:9}?',() => {
expect({value:{arr:[6]}}).toEqual({value:9}); // Is {value:{arr:[6]}} equal {value:9}? FAILED
});
- Vorherrschende Sprache
- JavaScript
- Sterne
- 438
- Forks
- 242
- 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 CodingTrain/Toy-Neural-Network-JS
-
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 20/100
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 35/100
-
Schwierigkeit 3/5 1-2 Tage Anfängerfreundlichkeit 30/100
-
Schwierigkeit 5/5 Über eine Woche Anfängerfreundlichkeit 20/100
CodingTrain/Toy-Neural-Network-JS#149 · 1 Kommentar ·
-
Gradient OptimizationOffen
Schwierigkeit 3/5 1-2 Tage Anfängerfreundlichkeit 42/100
Alle Issues in CodingTrain/Toy-Neural-Network-JS
Ähnliche Issues
-
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 65/100
Maintainer antworten meist innerhalb von 1 Tag
-
Add toro4n to the data modeling toolsEvtl. vergeben @henriklantzhedstrom-prog hat das heute übernommen. Offen
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 62/100
neo4j/docs-getting-started#546 ·
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 65/100
Maintainer antworten meist innerhalb von 25 Tagen
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 70/100
libnativeapi/nativeapi#21 ·
-
area: core complexity: easy impact: medium
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 86/100
ueberdosis/tiptap#8668 ·
Maintainer antworten meist innerhalb von 1 Tag