Итак, я сейчас нахожусь в процессе изучения того, как проводить модульное тестирование моих компонентов и что у меня работает, но я не чувствую, что это «правильный» способ сделать это.
Впоследние два теста я ищу первого ребенка от первого ребенка.Это выглядит немного грязно, но я изо всех сил пытаюсь найти лучший способ достичь этого.
По сути, я должен был проверить, присутствует ли svg в этом сценарии - и если нет, то в следующем тесте, если текст присутствует.
Любая помощь будет отличной!
Спасибо
Мой компонентный выход:
<h1>
<svg...> <!--(if hasIcon prop is set to true)-->
My Header Text
</h1>
Мои текущие тесты:
let wrapper;
beforeEach(() => {
wrapper = render(<MyComponent />);
});
describe("<MyComponent />", () => {
it("should render", () => {
const { container } = wrapper;
expect(container.firstChild);
});
it("should match snapshot", () => {
const { container } = wrapper;
expect(container.firstChild).toMatchSnapshot();
});
it("should render with an icon", () => {
const { container } = wrapper;
expect(container.firstChild.firstChild.nodeName).toBe("svg");
});
it("should render without an icon", () => {
const { container } = render(<AppHeader hasIcon={false} />);
expect(container.firstChild.firstChild.nodeName).toBe("#text");
});
});