1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/thoughtworks-taro-testing-library

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Это зеркальный репозиторий, синхронизируется ежедневно с исходного репозитория.
Клонировать/Скачать
class-component.test.tsx 1.9 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
jiachen Отправлено 5 лет назад f124390
import Taro, {Component} from '@tarojs/taro';
import { act, render } from '../index';
import {StandardProps} from "@tarojs/components/types/common";
import {Text} from "@tarojs/components";
interface CounterProps extends StandardProps {
initial?: number;
}
interface CounterState {
count: number;
}
class Counter extends Component<CounterProps, CounterState> {
static defaultProps = {
initial: 1
}
static externalClasses = ['custom-class'];
constructor(props: CounterProps) {
super(props);
this.state = {
count: props.initial as number
}
}
render() {
const { count } = this.state
return (
<Text
onClick={() => {this.setState({
count: count + 1
})}}
className="number custom-class"
>{count}</Text>
)
}
}
describe('class component test', () => {
it('should render componen', () => {
const { container } = render(<Counter />);
const $number = container.querySelector('.number') as HTMLSpanElement;
expect($number.innerHTML).toEqual('1');
});
it('should render component with props', () => {
const initial = 10
const { container } = render(<Counter initial={initial} />);
const $number = container.querySelector('.number') as HTMLSpanElement;
expect($number.innerHTML).toEqual(`${initial}`);
});
it('should rerender when trigger setState hooks', () => {
const { container } = render(<Counter />);
const $number = container.querySelector('.number') as HTMLSpanElement;
act(() => {
$number.click()
})
expect($number.innerHTML).toEqual(`2`);
});
it('should rerender when excute rerender methods', () => {
const { container, rerender } = render(<Counter />);
expect(container.querySelector('.number').innerHTML).toEqual("1");
rerender(<Counter initial={2} />)
expect(container.querySelector('.number').innerHTML).toEqual("2");
});
});

Комментарий ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://gitlife.ru/oschina-mirror/thoughtworks-taro-testing-library.git
git@gitlife.ru:oschina-mirror/thoughtworks-taro-testing-library.git
oschina-mirror
thoughtworks-taro-testing-library
thoughtworks-taro-testing-library
master