|
所在平台: Udemy |
课程主页: https://www.udemy.com/course/angular-jasmine-karma/
课程评论:没有评论
**Angular: 使用 Jasmine 和 Karma 进行单元测试** 本课程旨在帮助您全面掌握 Angular 项目的单元测试,重点讲解 Jasmine 和 Karma 这两个核心工具。您将从基础概念入手,逐步学习编写高质量的单元测试,确保代码不仅覆盖行数,更能真正验证代码逻辑。课程还将提供实用的建议,指导您根据具体场景选择最合适的测试方法。 **课程内容概览:** 1. **课程介绍:** 涵盖课程概览、讲师介绍、课程评价以及所需的软件环境。 2. **通用概念:** 深入理解单元测试的定义,区分单元测试、集成测试和端到端测试,了解单元测试的工作原理、最佳实践时机,以及测试覆盖率(Coverage)的重要性。重点介绍 Jasmine 和 Karma 的基本概念。 3. **Jasmine 和 Karma 实战:** 学习测试文件的结构、Karma 的配置、Coverage 文件夹的使用、如何运行测试,以及在 Karma 中添加新依赖(适用于 Angular 11 及以上版本)。 4. **单元测试实践:** * **应用场景:** 准备一个待测试的应用,并学习使用 JSON Server 模拟 API。 * **测试文件结构:** 理解 `.spec` 文件的构成。 * **`TestBed` 配置:** 掌握 `TestBed` 的配置方法,并实现第一个测试。 * **常见配置错误及解决。** * **测试方法:** * 测试返回值的函数。 * 测试无返回值函数(使用 `spyOn`)。 * 测试私有方法。 * 测试 `cart component`。 * 测试订阅 (`subscribe` - Observable)。 * **Jasmine 常用语法:** 学习 `xit`, `fit`, `xdescribe`, `fdescribe`, `beforeEach`, `beforeAll`, `afterEach`, `afterAll` 的用法。 * **调试:** 学习在 Karma 中进行调试。 * **测试组件:** 测试 Pipe、Service(包含 API 请求)、`book service`。 * **组件/服务实例化:** 探索不同的实例化方法。 * **路由测试:** 使用 `RouterTestingModule` 进行路由测试。 5. **Angular Material - 对话框:** 学习在项目中整合 MatDialog,并调整 `cart component` 的测试,同时测试 `confirmation dialog component`。 6. **进阶拓展:** * **集成测试入门:** 介绍集成测试的概念。 * **自动化测试:** 学习在生成 build 前自动化测试。 * **表单测试。** * **`document` 和 `window` 测试。** * **VS Code 扩展推荐。** 7. **课程总结:** 提供最后的建议,结束课程,并附有额外信息(BONUS)。 **请注意:** 本课程与讲师教授的“Angular: 使用 Jest 进行单元测试”课程内容相似,均使用相同的项目进行测试,但本课程侧重于 Jasmine 语法,而非 Jest。
En este curso aprenderás todo sobre los tests unitarios, Karma y Jasmine. Serás capaz de comenzar a realizar tests desde los más básicos, hasta los más completos.Aprenderás a hacer tests de buena calidad, que no solo cubran líneas de código, sino que prueben el código bien. Además, te daré consejos para que puedas analizar que tipo de test es mejor aplicar en cada momento.El curso está dividido en los siguientes puntos:1. IntroducciónPresentación del cursoInstructorValoración del cursoSoftware necesario2. Conceptos generales¿Qué es un test unitario?Unit test - Integration test - E2E¿Cómo funciona un test unitario?¿Cuál es el mejor momento para hacer las pruebas?Cobertura/CoverageJasmine y Karma3. Jasmine y KarmaArchivos de prueba en un proyectoConfiguración de KarmaCarpeta coverageLanzar testsNueva dependencia en Karma (Angular 11 o superior)4. Test unitarioAplicación a testearInstalar JSON ServerEstructura de un fichero de pruebas (.spec)Configurar TestBedCrear primer testFallos comunes configurando el TestBedTest a métodos con returnTest a métodos sin return (uso de spyOn) Test a métodos privadosFinalizando cart componentTest a suscripciones (subscribe-Observable)Mock de un servicioxit, fit, xdescribe, fdescribebeforeEach, beforeAll, afterEach, afterAllDepurar en karmaTest a un pipeTest a un servicio (Con peticiones a API)Finalizando book serviceAlternativas para instanciar un componente o servicioTest a rutas con RouterTestingModule5. Angular material - diálogoUsando MatDialog en el proyectoAdaptando tests en cart componentTest a confirmation dialog component6. AmpliaciónIntroducción a los test de integraciónAutomatizar test antes de generar el buildTest a formularioTest a document y windowExtensiones de VSCode que utilizo7. Cierre del curso Consejos finalesDespedidaBONUS - Información extraAVISO: Este curso es similar al curso que imparto llamado "Angular: Pruebas unitarias con Jest". Se realizan las pruebas unitarias al mismo proyecto, pero utilizando la sintaxis de Jasmine en lugar de Jest.