javascript - 想要为量角器中运行的每个测试用例创建新的日志文件
问题描述
我正在使用一个使用量角器和 javascript 的自动化框架。我们正在使用 winston 进行日志记录。但是使用我的配置,我只能创建一个不断附加的 .log 文件。
var winston = require('winston');
winston.remove(winston.transports.Console);
winston.add(winston.transports.Console, { timestamp: true });
winston.add(winston.transports.File, { filename: 'test-basic.log' });
module.exports = winston;
我想要的是每个单独的测试用例的 .log 文件,例如 testcase1.log、testcase2.log,并且每次都使用日期时间作为附加程序新创建。有没有办法我可以做到这一点?
解决方案
一种选择是在您的配置中创建您自己的茉莉花记者。一个新的 winston 文件将在每个测试开始时声明并在结束时完成。
jasmine.getEnv().addReporter({
jasmineStarted: function (options) {
console.log(`jas start: ${options}`);
},
suiteStarted: function (options) {
console.log(`suite start: ${options}`);
//start your log here.
},
specStarted: function (options) {
console.log(`spec start: ${options}`);
},
specDone: function (result) {
console.log(`spec done: ${result}`);
},
suiteDone: function (result) {
},
jasmineDone: async function (result) {
}
}
挂钩顺序
--- beforeLaunch
--- onPrepare
--- jasmineStarted (set in jasmine reporter)
--- beforeAll
--- suiteStarted (set in jasmine reporter)
--- specStarted (set in jasmine reporter)
--- beforeEach
+++ afterEach
+++ specDone (set in jasmine reporter)
+++ suiteDone (set in jasmine reporter)
+++ afterAll
+++ jasmineDone (set in jasmine reporter)
+++ onComplete
+++ afterLaunch
推荐阅读
- javascript - Oracle Apex 从 ajax 请求中获取 cookie
- vba - VBA 中的 IF 条件公式 - 运行时错误“1004”
- sql - 用值更新列的 SQL 函数
- javascript - 如何从 Express 后端获取 Firebase API 密钥,然后执行 firebase.initializeApp()
- editor - TMemo 中的可见换行符
- google-bigquery - 在 BigQuery 中使用双数组取消嵌套 STRUCT
- flutter - Flutter CupertinoSwitch 背景颜色变化
- dart - 如何在飞镖中异步控制执行流程
- algorithm - 了解特定的递归算法
- c# - 无法将图像文件上传到 Firebase Storage Unity C#