// 使用Jest和React Testing Library
import { render, screen, fireEvent } from '@testing-library/react';
import '@testing-library/jest-dom';
import Counter from './Counter';
describe('Counter Component', () => {
test('renders counter with initial value', () => {
render(<Counter />);
expect(screen.getByText('Count: 0')).toBeInTheDocument();
});
test('increments counter when button is clicked', () => {
render(<Counter />);
const button = screen.getByText('Increment');
fireEvent.click(button);
expect(screen.getByText('Count: 1')).toBeInTheDocument();
});
});
// 使用Enzyme
import { shallow, mount } from 'enzyme';
import Counter from './Counter';
describe('Counter Component', () => {
it('renders without crashing', () => {
const wrapper = shallow(<Counter />);
expect(wrapper.exists()).toBe(true);
});
it('increments counter when button is clicked', () => {
const wrapper = mount(<Counter />);
const button = wrapper.find('button');
button.simulate('click');
expect(wrapper.find('p').text()).toBe('Count: 1');
});
});