有人知道我如何从测试文件加载TailwindCSS吗?
我尝试使用相同的方法,我在VueJS上使用,导入css文件,但它只是不加载样式。
这是我添加柏树组件测试的提交:https://github.com/vicainelli/cypress-component-testing-react-tailwindcss/commit/2fa25833cb965fadfeda6c53b80a23bb12b3b1c5
我知道在mount中有可以传递样式表的选项,例如
:
mount(<App />, { stylesheet: "https://unpkg.com/tailwindcss@^2/dist/tailwind.min.css" });
但是我想使用我的自定义css。
Cypress文档有一个打字错误,你应该导入这个
import 'tailwindcss/dist/tailwind.min.css'
不是这个
import 'tailwindcss/dist/tailwindcss.min.css' // causes error, not in node_modules
import React from 'react';
import { mount } from '@cypress/react';
import App from './App';
import './index.css';
import 'tailwindcss/dist/tailwind.min.css'
it('should renders the App correctly', () => {
mount(<App />)
cy.get('h1').contains('Cypress Component Testing with Tailwind CSS')
.should('have.css', 'font-family')
.and('match', /Georgia/) // passes
});
或可以在cypress/plugins/index.js
yarn add -D @cypress/react
//or
npm install -D @cypress/react
const cracoConfig = require('../../craco.config.js')
const injectDevServer = require('@cypress/react/plugins/craco')
module.exports = (on, config) => {
injectDevServer(on, config, cracoConfig)
return config
}
激活craco.config.js
的内容(你已经有了)
module.exports = {
style: {
postcss: {
plugins: [
require('tailwindcss'),
require('autoprefixer'),
],
},
},
}
import React from 'react';
import { mount } from '@cypress/react';
import App from './App';
import './index.css';
// import 'tailwindcss/dist/tailwind.min.css' // not required, plugin works
it('should renders the App correctly', () => {
mount(<App />)
cy.get('h1').contains('Cypress Component Testing with Tailwind CSS')
.should('have.css', 'font-family')
.and('match', /Georgia/) // passes
});
您可以像在cypress 7.0迁移指南中提到的那样直接导入顺风CSS。
不建议使用mountingOptions.stylesheets
。require('tailwindcss/dist/tailwindcss.min.css')
整个代码片段:
// In the majority of modern style-loaders,
// these styles will be injected into document.head when they're imported below
require('./index.scss')
require('tailwindcss/dist/tailwindcss.min.css')
const { mount } = require('@cypress/react')
const Button = require('./Button')
it('renders a Button', () => {
// This button will render with the Tailwind CSS styles
// as well as the application's index.scss styles
mount(<Button />)
})