**test(tests): add comprehensive test suite for Brainy functionality**
- **New Tests Added**: - Introduced multiple test suites covering core functionalities (`core.test.ts`), vector operations (`vector-operations.test.ts`), Node.js environment (`environment.node.test.ts`), browser setup (`environment.browser.test.ts`), and TensorFlow.js-specific behaviors (`tensorflow-patch.test.ts`). - Added performance, scalability, and error-handling tests to ensure robust validation of vector addition, search, and text embedding functionalities. - Introduced setup utilities (`tests/setup.ts`) and standardized test utilities for creating predictable test cases. - **Configuration**: - Created `vitest.config.ts` for custom test configurations, including support for modern test environments (`jsdom`, `happy-dom`) and extended timeouts for asynchronous operations. - **Validation**: - Includes compatibility checks for TensorFlow.js imports and ensures proper handling of `TextEncoder`/`TextDecoder` in Node.js environments. This commit significantly enhances the testing coverage and structure, ensuring Brainy functionality is robust, cross-platform, and aligned with evolving reliability standards.
This commit is contained in:
parent
6e0045a6f1
commit
8ffc7115a5
9 changed files with 960 additions and 0 deletions
39
vitest.config.ts
Normal file
39
vitest.config.ts
Normal file
|
|
@ -0,0 +1,39 @@
|
|||
import { defineConfig } from 'vitest/config'
|
||||
|
||||
export default defineConfig({
|
||||
test: {
|
||||
// Default configuration
|
||||
globals: true,
|
||||
setupFiles: ['./tests/setup.ts'],
|
||||
testTimeout: 60000, // 60 seconds for TensorFlow operations
|
||||
hookTimeout: 60000,
|
||||
// Include test files
|
||||
include: ['tests/**/*.{test,spec}.{js,ts}'],
|
||||
// Exclude old test files
|
||||
exclude: [
|
||||
'node_modules/**',
|
||||
'dist/**',
|
||||
'scripts/**',
|
||||
'examples/**',
|
||||
'cli-package/**',
|
||||
'*.js' // Exclude old JS test files in root
|
||||
],
|
||||
// Add environment options to help with TextEncoder issues
|
||||
environmentOptions: {
|
||||
env: {
|
||||
FORCE_PATCHED_PLATFORM: 'true'
|
||||
}
|
||||
}
|
||||
},
|
||||
// Resolve configuration for proper module handling
|
||||
resolve: {
|
||||
alias: {
|
||||
'@': './src',
|
||||
'@tests': './tests'
|
||||
}
|
||||
},
|
||||
// Define different configurations for different environments
|
||||
define: {
|
||||
'process.env.NODE_ENV': '"test"'
|
||||
}
|
||||
})
|
||||
Loading…
Add table
Add a link
Reference in a new issue