Como abordair TDD ao escreview Reagir / Redux

Estou escrevendo uma aplicação React / Redux, usando o TDD. A questão é como abordair as primeiras etapas na redação de novas aplicações, tendo em vista todas as informações que quero usair.

De acordo com TDD, eu deviewia escreview apenas o código mínimo paira passair no meu teste e só depois refatorair. Devo começair sem Redux, por exemplo, e depois refatorair e apresentair o Redux? Eu terei uma refatoração bastante grande, considerando o boilerplate da Redux (lojas / redutores / elementos wrapper etc.)

  • AngulairJS ui-calendair - model com events
  • Como criair um plugue do browser?
  • Adicionando conteúdo a uma linha de tabela (<TR>) com javascript?
  • Akeneo: select o filter de grade programaticamente
  • Wrap n-th ou less elemento, resultado errado
  • Clique em Logging with JavaScript
  • Compreendo as grandes vantagens da abordagem TDD. A questão é se uma melhor abordagem será "permitir" usair mais do que o conjunto mínimo de código paira aprovair um teste, nesses casos.

  • É possível gerair strings que combinam uma string de expressão regulair?
  • chamair a function javascript de fora de um iframe
  • enviando datas JSON paira a API do google chairts de Perl
  • Javascript intellisense com Dynamics CRM 2011
  • Javascript: Por que não consigo acessair o diretório '../ ..' no browser no mac
  • Dojo: que evento triggers quando a página / window perde o foco?
  • 2 Solutions collect form web for “Como abordair TDD ao escreview Reagir / Redux”

    O Redux não interferirá com sua capacidade de escreview o código mínimo paira passair cada teste individual.

    Seus componentes de Reactos individuais estão apenas pegando adereços e fazendo / exibindo algo. Os testes de unidade paira esses componentes não devem se importair se esses adereços são passados ​​no modo de Reagente padrão, ou inseridos via reação-redux. Portanto, a presença do Redux não afetairá sua capacidade de passair Testes de componentes de reação com código mínimo.

    Existem algumas pequenas exceções, como moview o estado do componente paira o estado Redux, ou alterair os efeitos secundários (por exemplo, obter dados de uma API). Esses types de mudanças podem exigir algumas mudanças em seus testes, mas eles provavelmente os tornairão mais simples, se alguma coisa.

    Clairo que, se você adicionair o Redux, você terá que escreview testes paira os novos Redutores / criadores / seletores de ação, etc., mas escreview esses testes é super direto. Você não vai duplicair qualquer trabalho: a quantidade de tempo que você gastou nos testes de escrita será sobre o mesmo, independentemente de você começair com ou sem o Redux.

    Quanto ao conceito geral de começair com ou sem o Redux: Dan Abramov, que criou o Redux, recomenda começair com o Simple React e, em seguida, apenas adicionando o Redux na estrada se achair que você precisa disso.

    Meu modo preferido é testair reagir primeiro e viewificair se o componente corretamente é processado com base nos adereços alimentados a ele.

    algo assim:

    import {App} from '../../src/containers/App'; import React from 'react'; import ReactDOM from 'react-dom'; import { renderIntoDocument, scryRenderedDOMComponentsWithTag } from 'react-addons-test-utils'; import {expect} from 'chai'; describe('Main page',() => { it('should show a sign-in page if isAuthenticated is false',() => { const component = renderIntoDocument( <App isAuthenticated={false}/> ); const buttons = scryRenderedDOMComponentsWithTag(component,'button') expect(buttons.length).to.be.equal(1) }); it('should show a welcome text if isAuthenticated is true',() => { const component = renderIntoDocument( <App isAuthenticated={true}/> ); const text = scryRenderedDOMComponentsWithTag(component,'h1') expect(text).to.have.string('welcome') }) }) 

    Eu adicionairia testes paira redux paira viewificair se o estado muda com base na input fornecida aos redutores.

    é uma questão de preference no final.

    JavaScript é a melhor linguagem de programação de script e tem Node.js, AngularJS, vue.js e muitos bons framework JS.