native&detox-test-setup

This commit is contained in:
ArpitxGit
2024-04-25 20:27:20 +05:30
parent 229568e121
commit ba2ed68d07
4 changed files with 72 additions and 20 deletions

13
e2e/firstTest.spec.js Normal file
View File

@@ -0,0 +1,13 @@
describe('Example', () => {
beforeAll(async () => {
await device.launchApp();
});
afterAll(async () => {
await device.terminateApp();
});
it('should have welcome message', async () => {
await expect(element(by.text('Welcome'))).toBeVisible();
});
});

19
e2e/init.js Normal file
View File

@@ -0,0 +1,19 @@
const detox = require('detox');
const config = require('../package.json').detox;
const adapter = require('detox/runners/jest/adapter');
jest.setTimeout(120000);
jasmine.getEnv().addReporter(adapter);
beforeAll(async () => {
await detox.init(config);
});
beforeEach(async () => {
await adapter.beforeEach();
});
afterAll(async () => {
await adapter.afterAll();
await detox.cleanup();
});

View File

@@ -1,23 +1,29 @@
const baseConfig = require('../base.jest.config.js');
//const baseConfig = require('../base.jest.config.js');
//
///** @type {import('@jest/types').Config} */
//module.exports = {
// ...baseConfig,
// rootDir: '..',
// testMatch: ['<rootDir>/e2e/**/*.test.js'],
// testTimeout: 180000,
// maxWorkers: 1,
// globalSetup: 'detox/runners/jest/globalSetup',
// globalTeardown: 'detox/runners/jest/globalTeardown',
// reporters: ['detox/runners/jest/reporter'],
// testEnvironment: 'detox/runners/jest/testEnvironment',
// verbose: true,
// // setupFilesAfterEnv: ['./init.ts'],
// setupFiles: [
// '<rootDir>/node_modules/react-native-mmkv-storage/jest/mmkvJestSetup.js',
// ], // Adjusted path here
// testPathIgnorePatterns: ['/node_modules/'],
// transformIgnorePatterns: [
// 'node_modules/(?!(react-native|@react-native|react-navigation|@react-navigation)/)',
// ],
//};
/** @type {import('@jest/types').Config} */
module.exports = {
...baseConfig,
rootDir: '..',
testMatch: ['<rootDir>/e2e/**/*.test.js'],
testTimeout: 180000,
maxWorkers: 1,
globalSetup: 'detox/runners/jest/globalSetup',
globalTeardown: 'detox/runners/jest/globalTeardown',
reporters: ['detox/runners/jest/reporter'],
testEnvironment: 'detox/runners/jest/testEnvironment',
verbose: true,
// setupFilesAfterEnv: ['./init.ts'],
setupFiles: [
'<rootDir>/node_modules/react-native-mmkv-storage/jest/mmkvJestSetup.js',
], // Adjusted path here
testPathIgnorePatterns: ['/node_modules/'],
transformIgnorePatterns: [
'node_modules/(?!(react-native|@react-native|react-navigation|@react-navigation)/)',
],
preset: 'react-native',
setupFilesAfterEnv: ['./init.js'],
testTimeout: 120000,
};

View File

@@ -39,5 +39,19 @@
},
"engines": {
"node": ">=18"
},
"detox": {
"configurations": {
"android.emu.debug": {
"type": "android.emulator",
"binaryPath": "android/app/build/outputs/apk/debug/app-debug.apk",
"build": "cd android && ./gradlew app:assembleDebug app:assembleAndroidTest -DtestBuildType=debug && cd ..",
"device": {
"avdName": "Pixel_3a_API_30"
}
}
},
"test-runner": "jest",
"runner-config": "e2e/config.json"
}
}