Aplikacje React
React służy przede wszystkim do budowy interfejsów użytkownika z komponentów. Dzięki integracji z bibliotekami takimi jak Redux (centralny magazyn stanu aplikacji) czy Axios (komunikacja w internecie) można uzyskać kompletn rozwiązanie: aplikację webową (frontend). Jednak tworzenie bardziej złożonych aplikacji tego typu nie jest rzeczą banalną. W tym rozdziale poruszonych zostanie kilka problemów, jakie musi rozwiązać programista w tego typu projekcie.
Testowanie
Mamy wiele narzędzi do testowania aplikacji React. To bogactwo utrudnia ich wybór i stosowanie. Poniżej krótki przegląd:
Mocha / Jasmine
Są to narzędzia uruchamiania testów (runner):
describe/it/beforeEach: funkcje mocha / jaśminu służą do organizacji testu.
- describe → opisuje funkcję
- it → Określa jakie są określone warunki. Funkcjonuje wewnątrz opisu
- beforeEach → Konfiguracja testów przed uruchomieniem
Przykład testu:
describe "Strawberry"
- it "is red"
- expect(strawberry.color).to.be('red')
- it "a type of fruit"
- expect(strawberry.type).to.be('fruit)
Enzyme
Narzędzie do testowania JavaScriptu dla React, które ułatwia potwierdzenie, manipulowanie i przechodzenie przez komponenty React.
Może być używany do płytkiego renderowania komponentów React lub sprawdzenia, czy komponenty mają określone dzieci lub czy mają określone własności.
import MyComponent from ‘./MyComponent’;
import Foo from ‘./Foo’;
describe(‘<MyComponent />’, () => {
it(‘renders three <Foo /> components’, () => {
const wrapper = shallow(<MyComponent foo=’bar’ />);
expect(wrapper.find(Foo)).to.have.length(3);
expect(wrapper.props().foo).to.equal(‘bar’);
});
});
Zobacz też:
- http://www.algosmart.pl/co-musisz-wiedziec-zeby-zaczac-testowanie-komponentow-react
- https://typeofweb.com/2018/02/09/testowanie-aplikacji-react-js-podstawy-enzyme/
- https://www.nafrontendzie.pl/3-najpopularniejsze-frameworki-testowanie-javascript
- https://blog.piotrnalepa.pl/2017/09/26/jak-efektywnie-testowac-kod-napisany-za-pomoca-react/