Register
Login
Resources
Docs Blog Datasets Glossary Case Studies Tutorials & Webinars
Product
Data Engine LLMs Platform Enterprise
Pricing Explore
Connect to our Discord channel

hooks.js 1.3 KB

You have to be logged in to leave a comment. Sign In
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
  1. let counter = 0;
  2. async function extensionHook(hookName, context) {
  3. if (hookName === 'beforeAll') {
  4. console.log(`Setting up test suite: ${context.suite.description || 'Unnamed suite'}`);
  5. console.log(`Total prompts: ${context.suite.prompts?.length || 0}`);
  6. console.log(`Total providers: ${context.suite.providers?.length || 0}`);
  7. console.log(`Total tests: ${context.suite.tests?.length || 0}`);
  8. } else if (hookName === 'beforeEach') {
  9. console.log(`Preparing test`);
  10. } else if (hookName === 'afterEach') {
  11. console.log(
  12. `Completed test ${counter++}${context.result ? `, Result: ${context.result.success ? 'Pass' : 'Fail'}, Score: ${context.result.score}` : ''}`,
  13. );
  14. } else if (hookName === 'afterAll') {
  15. console.log('Test suite completed');
  16. console.log(`Total tests run: ${context.results?.length || 0}`);
  17. const successes = context.results?.filter((r) => r.success).length || 0;
  18. const failures = context.results?.filter((r) => !r.success).length || 0;
  19. console.log(`Successes: ${successes}`);
  20. console.log(`Failures: ${failures}`);
  21. const totalTokenUsage =
  22. context.results?.reduce((sum, r) => sum + (r.response?.tokenUsage?.total || 0), 0) || 0;
  23. console.log(`Total token usage: ${totalTokenUsage}`);
  24. }
  25. }
  26. module.exports = extensionHook;
Tip!

Press p or to see the previous file or, n or to see the next file

Comments

Loading...