Introdução geral
O Shortest é uma estrutura de teste de ponta a ponta em linguagem natural alimentada por IA, desenvolvida pela equipe do Anti-Work. Ele foi desenvolvido com base no Playwright e oferece suporte à integração com o GitHub e à autenticação de dois fatores (2FA). O principal recurso do Shortest é escrever casos de teste por meio de linguagem natural e utilizar o Anthropic Claude API para execução de testes orientados por IA. A estrutura foi projetada para simplificar o processo de teste, melhorar a eficiência do teste e permitir que os desenvolvedores escrevam e mantenham casos de teste com mais facilidade.
Lista de funções
- Redação de testes em linguagem naturalEscrever casos de teste em linguagem natural reduz o limite para escrever testes.
- Execução de testes orientada por IAExecução de testes orientados por IA com um alto grau de automação usando a API Anthropic Claude.
- Baseado no dramaturgoCriado com base no Playwright para oferecer automação avançada do navegador.
- Integração com o GitHubIntegração perfeita com o GitHub é suportada, incluindo autenticação de dois fatores (2FA).
- verificação de e-mailValidação de e-mail via Mailosaur: a validação de e-mail via Mailosaur garante testes abrangentes.
- função de retorno de chamadaSuporte para adicionar asserções e lógica adicionais usando funções de retorno de chamada.
- gancho de ciclo de vidaFornece ganchos de ciclo de vida que permitem que a lógica personalizada seja executada antes e depois da execução do teste.
Usando a Ajuda
Processo de instalação
- Instale o Shortest usando npm, pnpm ou yarn:
npm install -D @antiwork/shortest
# 或者
pnpm add -D @antiwork/shortest
- comandante-em-chefe (militar)
.shortest/
adicionar a.gitignore
para armazenar capturas de tela e caches de cada execução de teste:
echo ".shortest/" >> .gitignore
- Identifique o portal de teste e adicione a chave da API do Anthropic ao arquivo de configuração:
// shortest.config.ts
import type { ShortestConfig } from "@antiwork/shortest";
export default {
headless: false,
baseUrl: "http://localhost:3000",
testPattern: "**/*.test.ts",
anthropicKey: process.env.ANTHROPIC_API_KEY,
} satisfies ShortestConfig;
Processo de uso
- Escreva casos de teste:
// app/__tests__/login.test.ts
import { shortest } from "@antiwork/shortest";
shortest("Login to the app using email and password", {
username: process.env.GITHUB_USERNAME,
password: process.env.GITHUB_PASSWORD,
});
- Use funções de retorno de chamada para adicionar mais asserções e lógica:
import { shortest } from "@antiwork/shortest";
import { db } from "@/lib/db/drizzle";
import { users } from "@/lib/db/schema";
import { eq } from "drizzle-orm";
shortest("Login to the app using username and password", {
username: process.env.USERNAME,
password: process.env.PASSWORD,
}).after(async ({ page }) => {
const clerkId = await page.evaluate(() => {
return window.localStorage.getItem("clerk-user");
});
if (!clerkId) {
throw new Error("User not found in database");
}
const [user] = await db
.select()
.from(users)
.where(eq(users.clerkId, clerkId))
.limit(1);
expect(user).toBeDefined();
});
teste operacional
- Execute testes usando npx, pnpm ou yarn:
npx shortest
# 或者
pnpm shortest
# 或者
yarn shortest
Funções detalhadas
- Redação de testes em linguagem naturalO Shortest permite que os usuários escrevam casos de teste usando linguagem natural, como "faça login no aplicativo e use seu e-mail e senha". Essa abordagem reduz a barreira técnica para a criação de testes e permite que pessoas não técnicas participem da criação de testes.
- Execução de testes orientada por IAShortest: O Shortest aproveita a API Anthropic Claude para a execução de testes orientados por IA, que entende e executa casos de teste de forma inteligente para melhorar a automação e a precisão dos testes.
- Baseado no dramaturgoShortest: O Shortest foi desenvolvido com base no Playwright e oferece automação avançada do navegador com suporte para testes em vários navegadores e dispositivos.
- Integração com o GitHubO Shortest oferece suporte à integração perfeita com o GitHub, incluindo a autenticação de dois fatores (2FA), garantindo a segurança e a confiabilidade do processo de teste.
- verificação de e-mailA validação de e-mail via Mailosaur garante testes abrangentes e precisos.
- função de retorno de chamadaShortest: O Shortest suporta o uso de funções de retorno de chamada para adicionar asserções e lógica adicionais, permitindo que os usuários realizem validação e manipulação adicionais após a execução do teste.
- gancho de ciclo de vidaShortest: O Shortest fornece ganchos de ciclo de vida que permitem que os usuários executem lógica personalizada antes e depois da execução do teste, como a configuração do ambiente de teste antes do teste e a limpeza dos dados de teste após o teste.