karma.conf.js 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. var baseConfig = require('../karma-browsers.config')
  2. module.exports = function(config) {
  3. config.set({
  4. basePath: '../../',
  5. captureTimeout: 3e5,
  6. browserNoActivityTimeout: 3e5,
  7. browserDisconnectTimeout: 3e5,
  8. browserDisconnectTolerance: 3,
  9. concurrency: 1,
  10. urlRoot: '/karma',
  11. frameworks: ['mocha', 'chai', 'sinon'],
  12. files: [
  13. { pattern: 'dist/ammo.js', watched: false }, // need ammo for physics test
  14. '!./**/*.d.ts',
  15. './Tools/DevLoader/BabylonLoader.js',
  16. './tests/unit/babylon/babylon.example.tests.js',
  17. './tests/unit/babylon/src/Mesh/babylon.positionAndRotation.tests.js',
  18. './tests/unit/babylon/serializers/babylon.glTFSerializer.tests.js',
  19. './tests/unit/babylon/src/babylon.node.tests.js',
  20. './tests/unit/babylon/src/Animations/babylon.animation.tests.js',
  21. './tests/unit/babylon/src/Animations/babylon.animationGroup.tests.js',
  22. './tests/unit/babylon/src/Cameras/babylon.pointerInput.tests.js',
  23. './tests/unit/babylon/src/Culling/babylon.ray.tests.js',
  24. './tests/unit/babylon/src/Loading/babylon.sceneLoader.tests.js',
  25. './tests/unit/babylon/src/PostProcesses/babylon.postProcess.tests.js',
  26. './tests/unit/babylon/src/Materials/babylon.material.tests.js',
  27. './tests/unit/babylon/src/Meshes/babylon.dictionaryMode.tests.js',
  28. './tests/unit/babylon/src/Meshes/babylon.geometry.tests.js',
  29. './tests/unit/babylon/src/Meshes/babylon.mesh.vertexData.tests.js',
  30. './tests/unit/babylon/src/Misc/babylon.promise.tests.js',
  31. './tests/unit/babylon/src/Physics/babylon.physicsComponents.tests.js',
  32. { pattern: 'dist/preview release/**/*.js', watched: false, included: false, served: true },
  33. { pattern: 'assets/**/*', watched: false, included: false, served: true },
  34. //{ pattern: 'tests/**/*', watched: false, included: false, served: true },
  35. { pattern: 'Playground/scenes/**/*', watched: false, included: false, served: true },
  36. { pattern: 'Playground/textures/**/*', watched: false, included: false, served: true },
  37. { pattern: 'Playground/sounds/**/*', watched: false, included: false, served: true },
  38. { pattern: 'Tools/Config/config.json', watched: false, included: false, served: true },
  39. ],
  40. proxies: {
  41. '/': '/base/'
  42. },
  43. port: 3000,
  44. colors: true,
  45. autoWatch: false,
  46. singleRun: false,
  47. // level of logging
  48. // possible values: config.LOG_DISABLE || config.LOG_ERROR || config.LOG_WARN || config.LOG_INFO || config.LOG_DEBUG
  49. logLevel: config.LOG_INFO,
  50. reporters: ['progress', 'junit'],
  51. plugins: [
  52. 'karma-mocha',
  53. 'karma-chai',
  54. 'karma-sinon',
  55. 'karma-chrome-launcher',
  56. 'karma-firefox-launcher',
  57. require('../../Tools/Gulp/helpers/gulp-karmaJunitPlugin')
  58. ],
  59. junitReporter: {
  60. outputDir: '.temp/testResults', // results will be saved as $outputDir/$browserName.xml
  61. outputFile: 'UnitTests.xml', // if included, results will be saved as $outputDir/$browserName/$outputFile
  62. suite: 'Unit Tests', // suite will become the package name attribute in xml testsuite element
  63. useBrowserName: false, // add browser name to report and classes names
  64. nameFormatter: undefined, // function (browser, result) to customize the name attribute in xml testcase element
  65. classNameFormatter: undefined, // function (browser, result) to customize the classname attribute in xml testcase element
  66. properties: {} // key value pair of properties to add to the <properties> section of the report
  67. },
  68. ...baseConfig
  69. })
  70. }