Custom test without node using pure javascript
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 5/5
- Tempo estimado
- Mais de uma semana
- Facilidade para iniciantes
- 20/100
- Tipo de issue
- Funcionalidade
- Clareza
- Precisa de esclarecimento
- Status de atividade
- Estagnada
- Stack de tecnologia
- javascript
- Domínio
- testing
Direção de pesquisa
A issue contém uma implementação inline de uma função de teste em JavaScript, mas não nomeia arquivos do repositório, testes ou pontos de entrada. Primeiro, é preciso esclarecer se isso deve se tornar uma funcionalidade do projeto e definir seu escopo; a conclusão exigiria um local de implementação acordado e testes para o comportamento proposto.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
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
});
- Linguagem predominante
- JavaScript
- Estrelas
- 437
- Forks
- 242
- Métricas de merge de PRs
- Nenhum PR com merge em 30d
Preparar o ambiente
Este projeto não oferece contêiner de desenvolvimento, Dockerfile nem guia de contribuição, então a configuração fica por sua conta: comece pelo README e veja nosso guia da primeira contribuição para os passos gerais.
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de CodingTrain/Toy-Neural-Network-JS
-
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 20/100
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 35/100
-
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 30/100
-
Dificuldade 5/5 Mais de uma semana Facilidade para iniciantes 20/100
CodingTrain/Toy-Neural-Network-JS#149 · 1 comentário ·
-
Gradient OptimizationAberta
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 42/100
Todas as issues de CodingTrain/Toy-Neural-Network-JS
Issues semelhantes
-
bug/1-unconfirmed kind/bug
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
Mantenedores costumam responder em até 1 dia
-
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 74/100
521xueweihan/HelloGitHub#4010 · 2 comentários ·
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 67/100
Mantenedores costumam responder em até 1 dia
-
BUG
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 74/100
Mantenedores costumam responder em até 1 dia
-
[BUG]: filesystem-edit-file converts a CRLF file's line endings to LF on every editTalvez já em andamento @MohammadHijjawi97 assumiu hoje. Aberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 82/100
Mintplex-Labs/anything-llm#6755 ·
Mantenedores costumam responder em até 1 dia