diff --git a/lib/util/git/semantic.spec.ts b/lib/util/git/semantic.spec.ts
index 2a67716a69f2f09b6a3ec695b5d7dbdb5f8b8b5e..d15876b9be88c9343b2828387b6f5500098f7945 100644
--- a/lib/util/git/semantic.spec.ts
+++ b/lib/util/git/semantic.spec.ts
@@ -1,4 +1,4 @@
-import { RenovateConfig, getConfig, git } from '../../../test/util';
+import { RenovateConfig, git, partial } from '../../../test/util';
 import { initRepoCache } from '../cache/repository/init';
 import { detectSemanticCommits } from './semantic';
 
@@ -8,9 +8,7 @@ let config: RenovateConfig;
 
 beforeEach(() => {
   jest.resetAllMocks();
-  config = getConfig();
-  config.errors = [];
-  config.warnings = [];
+  config = partial<RenovateConfig>();
 });
 
 describe('util/git/semantic', () => {
diff --git a/lib/workers/repository/configured.spec.ts b/lib/workers/repository/configured.spec.ts
index dd658b52a15064dab67203d9512c9a1530ecc26c..c219be9444ad7d0aa9395950f81f24ab6ce81548 100644
--- a/lib/workers/repository/configured.spec.ts
+++ b/lib/workers/repository/configured.spec.ts
@@ -1,11 +1,14 @@
-import { RenovateConfig, getConfig } from '../../../test/util';
+import { RenovateConfig, partial } from '../../../test/util';
 import { checkIfConfigured } from './configured';
 
 let config: RenovateConfig;
 
 beforeEach(() => {
   jest.resetAllMocks();
-  config = getConfig();
+  config = partial<RenovateConfig>({
+    enabled: true,
+    forkProcessing: 'auto',
+  });
 });
 
 describe('workers/repository/configured', () => {
@@ -22,7 +25,6 @@ describe('workers/repository/configured', () => {
     it('throws if unconfigured fork', () => {
       config.enabled = true;
       config.isFork = true;
-      config.renovateJsonPresent = false;
       expect(() => checkIfConfigured(config)).toThrow();
     });
   });
diff --git a/lib/workers/repository/error-config.spec.ts b/lib/workers/repository/error-config.spec.ts
index 8afce57c487fe8fb34cfddd771ee6aa8f4785ef2..2eb296e73ab4a91fd6ff51aabce09129eb4c5cdf 100644
--- a/lib/workers/repository/error-config.spec.ts
+++ b/lib/workers/repository/error-config.spec.ts
@@ -1,10 +1,5 @@
 import { mock } from 'jest-mock-extended';
-import {
-  RenovateConfig,
-  getConfig,
-  partial,
-  platform,
-} from '../../../test/util';
+import { RenovateConfig, partial, platform } from '../../../test/util';
 import { GlobalConfig } from '../../config/global';
 import { CONFIG_VALIDATION } from '../../constants/error-messages';
 import { logger } from '../../logger';
@@ -20,7 +15,13 @@ let config: RenovateConfig;
 
 beforeEach(() => {
   jest.resetAllMocks();
-  config = getConfig();
+  // default values
+  config = partial<RenovateConfig>({
+    onboardingBranch: 'configure/renovate',
+    suppressNotifications: ['deprecationWarningIssues'],
+    configWarningReuseIssue: true,
+    confidential: false,
+  });
 });
 
 describe('workers/repository/error-config', () => {
diff --git a/lib/workers/repository/error.spec.ts b/lib/workers/repository/error.spec.ts
index 3271f7bfbba9ef2a0f4e8fe96a0508207024cbf9..07cd0838ed650c36c869f74c294e404a6c792f9d 100644
--- a/lib/workers/repository/error.spec.ts
+++ b/lib/workers/repository/error.spec.ts
@@ -1,4 +1,4 @@
-import { RenovateConfig, getConfig } from '../../../test/util';
+import { RenovateConfig, partial } from '../../../test/util';
 import {
   CONFIG_SECRETS_EXPOSED,
   CONFIG_VALIDATION,
@@ -37,7 +37,7 @@ let config: RenovateConfig;
 
 beforeEach(() => {
   jest.resetAllMocks();
-  config = getConfig();
+  config = partial<RenovateConfig>({ branchList: [] });
 });
 
 describe('workers/repository/error', () => {
diff --git a/lib/workers/repository/errors-warnings.spec.ts b/lib/workers/repository/errors-warnings.spec.ts
index 0711c6d028fb4f72fa1f35ae7d15016159a87240..382f5baaef622128f47fc252270c474904a26fc4 100644
--- a/lib/workers/repository/errors-warnings.spec.ts
+++ b/lib/workers/repository/errors-warnings.spec.ts
@@ -1,4 +1,4 @@
-import { RenovateConfig, getConfig } from '../../../test/util';
+import { RenovateConfig, partial } from '../../../test/util';
 import type { PackageFile } from '../../modules/manager/types';
 import {
   getDepWarningsDashboard,
@@ -14,7 +14,7 @@ describe('workers/repository/errors-warnings', () => {
 
     beforeEach(() => {
       jest.resetAllMocks();
-      config = getConfig();
+      config = partial<RenovateConfig>();
     });
 
     it('returns warning text', () => {
@@ -228,7 +228,7 @@ describe('workers/repository/errors-warnings', () => {
 
     beforeEach(() => {
       jest.resetAllMocks();
-      config = getConfig();
+      config = partial<RenovateConfig>();
     });
 
     it('returns error text', () => {
diff --git a/lib/workers/repository/extract/manager-files.spec.ts b/lib/workers/repository/extract/manager-files.spec.ts
index 3dbafbc1512a0cb2cc5ea09357a3cb53544f4759..d081eab4b9722767c8821a6fb22eba2e129749cc 100644
--- a/lib/workers/repository/extract/manager-files.spec.ts
+++ b/lib/workers/repository/extract/manager-files.spec.ts
@@ -1,4 +1,4 @@
-import { fs, getConfig, mocked } from '../../../../test/util';
+import { fs, mocked, partial } from '../../../../test/util';
 import type { RenovateConfig } from '../../../config/types';
 import * as _html from '../../../modules/manager/html';
 import * as _fileMatch from './file-match';
@@ -17,7 +17,7 @@ describe('workers/repository/extract/manager-files', () => {
 
     beforeEach(() => {
       jest.resetAllMocks();
-      config = getConfig();
+      config = partial<RenovateConfig>();
     });
 
     it('returns empty of manager is disabled', async () => {
diff --git a/lib/workers/repository/finalize/prune.spec.ts b/lib/workers/repository/finalize/prune.spec.ts
index 61d880f21f31ef3822b3c0bb3145be06c8d42c31..9e0a23074c8df229d4c607179207bc6b03b1502f 100644
--- a/lib/workers/repository/finalize/prune.spec.ts
+++ b/lib/workers/repository/finalize/prune.spec.ts
@@ -1,6 +1,5 @@
 import {
   RenovateConfig,
-  getConfig,
   git,
   partial,
   platform,
@@ -16,10 +15,15 @@ let config: RenovateConfig;
 
 beforeEach(() => {
   jest.resetAllMocks();
-  config = getConfig();
-  config.platform = 'github';
-  config.errors = [];
-  config.warnings = [];
+  config = partial<RenovateConfig>({
+    repoIsOnboarded: true,
+    branchPrefix: `renovate/`,
+    pruneStaleBranches: true,
+    ignoredAuthors: [],
+    platform: 'github',
+    errors: [],
+    warnings: [],
+  });
 });
 
 describe('workers/repository/finalize/prune', () => {
diff --git a/lib/workers/repository/finalize/repository-statistics.spec.ts b/lib/workers/repository/finalize/repository-statistics.spec.ts
index 68f7ff022e6f5cd674bf7a5dce8939a427cdd27f..6d65e88af89a6f89a0521ac8fd917197970e73a3 100644
--- a/lib/workers/repository/finalize/repository-statistics.spec.ts
+++ b/lib/workers/repository/finalize/repository-statistics.spec.ts
@@ -1,10 +1,5 @@
 import { Fixtures } from '../../../../test/fixtures';
-import {
-  RenovateConfig,
-  getConfig,
-  mockedFunction,
-  partial,
-} from '../../../../test/util';
+import { RenovateConfig, mockedFunction, partial } from '../../../../test/util';
 import { logger } from '../../../logger';
 import { platform } from '../../../modules/platform';
 import * as cache from '../../../util/cache/repository';
@@ -32,9 +27,12 @@ describe('workers/repository/finalize/repository-statistics', () => {
 
   describe('runRenovateRepoStats', () => {
     beforeEach(() => {
-      config = getConfig();
       mockedFunction(platform.getPrList).mockReturnValue(prJson);
-      config.repository = 'owner/repo';
+      config = partial<RenovateConfig>({
+        onboardingPrTitle: 'Configure Renovate',
+        defaultBranch: 'main',
+        repository: 'owner/repo',
+      });
     });
 
     it('Calls runRenovateRepoStats', () => {
diff --git a/lib/workers/repository/init/cache.spec.ts b/lib/workers/repository/init/cache.spec.ts
index ffb67f92f0885fca5d37f13217793fb27bf6a15d..05db97239f4ec0a2c7c54f34e7f9c8345ce74375 100644
--- a/lib/workers/repository/init/cache.spec.ts
+++ b/lib/workers/repository/init/cache.spec.ts
@@ -1,5 +1,6 @@
-import { getConfig } from '../../../../test/util';
+import { partial } from '../../../../test/util';
 import { GlobalConfig } from '../../../config/global';
+import type { RepositoryCacheConfig } from '../../../config/types';
 import type { WorkerPlatformConfig } from './apis';
 import { initializeCaches } from './cache';
 
@@ -9,7 +10,9 @@ describe('workers/repository/init/cache', () => {
 
     beforeEach(() => {
       config = {
-        ...getConfig(),
+        repository: '',
+        repositoryCache: partial<RepositoryCacheConfig>(),
+        repositoryCacheType: 'local',
         repoFingerprint: '0123456789abcdef',
         defaultBranch: 'main',
         isFork: false,
diff --git a/lib/workers/repository/onboarding/branch/config.spec.ts b/lib/workers/repository/onboarding/branch/config.spec.ts
index 041cb3dc2ac5a0f845d3f920719195693857ec69..297fbb50b2bad3b060765c9e27945268696c805a 100644
--- a/lib/workers/repository/onboarding/branch/config.spec.ts
+++ b/lib/workers/repository/onboarding/branch/config.spec.ts
@@ -1,4 +1,4 @@
-import { RenovateConfig, getConfig } from '../../../../../test/util';
+import { RenovateConfig, partial } from '../../../../../test/util';
 import { GlobalConfig } from '../../../../config/global';
 import * as presets from '../../../../config/presets/local';
 import { PRESET_DEP_NOT_FOUND } from '../../../../config/presets/util';
@@ -19,9 +19,13 @@ describe('workers/repository/onboarding/branch/config', () => {
   });
 
   beforeEach(() => {
-    config = getConfig();
-    config.platform = 'github';
-    config.repository = 'some/repo';
+    config = partial<RenovateConfig>({
+      onboardingConfig: {
+        $schema: 'https://docs.renovatebot.com/renovate-schema.json',
+      },
+      platform: 'github',
+      repository: 'some/repo',
+    });
   });
 
   describe('getOnboardingConfigContents', () => {
diff --git a/lib/workers/repository/onboarding/pr/base-branch.spec.ts b/lib/workers/repository/onboarding/pr/base-branch.spec.ts
index a6cc6670c4cd845116c7132bbdd298945258b85c..6ceed109586708905b620505478034e062b4ad1d 100644
--- a/lib/workers/repository/onboarding/pr/base-branch.spec.ts
+++ b/lib/workers/repository/onboarding/pr/base-branch.spec.ts
@@ -1,4 +1,4 @@
-import { RenovateConfig, getConfig } from '../../../../../test/util';
+import { RenovateConfig, partial } from '../../../../../test/util';
 
 import { getBaseBranchDesc } from './base-branch';
 
@@ -8,7 +8,7 @@ describe('workers/repository/onboarding/pr/base-branch', () => {
 
     beforeEach(() => {
       jest.resetAllMocks();
-      config = getConfig();
+      config = partial<RenovateConfig>();
     });
 
     it('returns empty if no baseBranch', () => {
diff --git a/lib/workers/repository/onboarding/pr/config-description.spec.ts b/lib/workers/repository/onboarding/pr/config-description.spec.ts
index 39c3a4f8b14ce5c5182b80826838ce8c5f1e2521..538447567381c06b0d439ce19b37b17e015e52c2 100644
--- a/lib/workers/repository/onboarding/pr/config-description.spec.ts
+++ b/lib/workers/repository/onboarding/pr/config-description.spec.ts
@@ -1,4 +1,4 @@
-import { RenovateConfig, getConfig } from '../../../../../test/util';
+import { RenovateConfig, partial } from '../../../../../test/util';
 import type { PackageFile } from '../../../../modules/manager/types';
 import { getConfigDesc } from './config-description';
 
@@ -8,7 +8,7 @@ describe('workers/repository/onboarding/pr/config-description', () => {
 
     beforeEach(() => {
       jest.resetAllMocks();
-      config = getConfig();
+      config = partial<RenovateConfig>();
     });
 
     it('returns empty', () => {
diff --git a/lib/workers/repository/onboarding/pr/pr-list.spec.ts b/lib/workers/repository/onboarding/pr/pr-list.spec.ts
index 54958565721f423586243390e4ba4c85874ff2fc..9672b38b4a1a7e238e986cb3302f0397a0d1b565 100644
--- a/lib/workers/repository/onboarding/pr/pr-list.spec.ts
+++ b/lib/workers/repository/onboarding/pr/pr-list.spec.ts
@@ -1,4 +1,4 @@
-import { RenovateConfig, getConfig } from '../../../../../test/util';
+import { RenovateConfig, partial } from '../../../../../test/util';
 import type { BranchConfig } from '../../../types';
 import { getPrList } from './pr-list';
 
@@ -8,7 +8,9 @@ describe('workers/repository/onboarding/pr/pr-list', () => {
 
     beforeEach(() => {
       jest.resetAllMocks();
-      config = getConfig();
+      config = partial<RenovateConfig>({
+        prHourlyLimit: 2, // default
+      });
     });
 
     it('handles empty', () => {
diff --git a/lib/workers/repository/process/limits.spec.ts b/lib/workers/repository/process/limits.spec.ts
index 70801a7a35df00270913a61c782abdfb8649caa5..7c3f43136317cd09dc782b0aae65b927da665140 100644
--- a/lib/workers/repository/process/limits.spec.ts
+++ b/lib/workers/repository/process/limits.spec.ts
@@ -1,11 +1,5 @@
 import { DateTime } from 'luxon';
-import {
-  RenovateConfig,
-  getConfig,
-  partial,
-  platform,
-  scm,
-} from '../../../../test/util';
+import { RenovateConfig, partial, platform, scm } from '../../../../test/util';
 import type { Pr } from '../../../modules/platform/types';
 import type { BranchConfig } from '../../types';
 import * as limits from './limits';
@@ -14,7 +8,13 @@ let config: RenovateConfig;
 
 beforeEach(() => {
   jest.resetAllMocks();
-  config = getConfig();
+  config = partial<RenovateConfig>({
+    branchPrefix: 'foo/',
+    onboardingBranch: 'bar/configure',
+    prHourlyLimit: 2,
+    prConcurrentLimit: 10,
+    branchConcurrentLimit: null,
+  });
 });
 
 describe('workers/repository/process/limits', () => {
@@ -36,8 +36,6 @@ describe('workers/repository/process/limits', () => {
       const res = await limits.getPrHourlyRemaining({
         ...config,
         prHourlyLimit: 10,
-        branchPrefix: 'foo/',
-        onboardingBranch: 'bar/configure',
       });
       expect(res).toBe(7);
     });
diff --git a/lib/workers/repository/process/lookup/filter-checks.spec.ts b/lib/workers/repository/process/lookup/filter-checks.spec.ts
index 9e950ed7073d491b7d462f4ed16be7f8b2cf5413..c57df340d05b0c42c8574a8c7bbc4939e2c128ea 100644
--- a/lib/workers/repository/process/lookup/filter-checks.spec.ts
+++ b/lib/workers/repository/process/lookup/filter-checks.spec.ts
@@ -1,4 +1,4 @@
-import { getConfig, mocked } from '../../../../../test/util';
+import { mocked } from '../../../../../test/util';
 import type { Release } from '../../../../modules/datasource';
 import * as allVersioning from '../../../../modules/versioning';
 import * as _dateUtil from '../../../../util/date';
@@ -40,8 +40,7 @@ describe('workers/repository/process/lookup/filter-checks', () => {
   let sortedReleases: Release[];
 
   beforeEach(() => {
-    config = getConfig();
-    config.currentVersion = '1.0.0';
+    config = { currentVersion: '1.0.0' };
     sortedReleases = structuredClone(releases);
     jest.resetAllMocks();
     dateUtil.getElapsedMs.mockReturnValueOnce(toMs('3 days') ?? 0);
diff --git a/lib/workers/repository/result.spec.ts b/lib/workers/repository/result.spec.ts
index 888778c78f32a1bcd8b7057494240d2c9a4c59cd..aced77a3d8a4af6bb4015681d16a256486776eaf 100644
--- a/lib/workers/repository/result.spec.ts
+++ b/lib/workers/repository/result.spec.ts
@@ -1,11 +1,14 @@
-import { RenovateConfig, getConfig } from '../../../test/util';
+import { RenovateConfig, partial } from '../../../test/util';
 import { processResult } from './result';
 
 let config: RenovateConfig;
 
 beforeEach(() => {
   jest.resetAllMocks();
-  config = getConfig();
+  config = partial<RenovateConfig>({
+    repoIsActivated: true,
+    repoIsOnboarded: true,
+  });
 });
 
 describe('workers/repository/result', () => {
diff --git a/lib/workers/repository/update/branch/automerge.spec.ts b/lib/workers/repository/update/branch/automerge.spec.ts
index db205fbfde8f5250fd3f587c8093c0cc2a1bf55d..c675d1619d9c68100b2d4a8b588a76adaabce4e3 100644
--- a/lib/workers/repository/update/branch/automerge.spec.ts
+++ b/lib/workers/repository/update/branch/automerge.spec.ts
@@ -1,10 +1,4 @@
-import {
-  getConfig,
-  git,
-  partial,
-  platform,
-  scm,
-} from '../../../../../test/util';
+import { git, partial, platform, scm } from '../../../../../test/util';
 import { GlobalConfig } from '../../../../config/global';
 import type { RenovateConfig } from '../../../../config/types';
 import type { Pr } from '../../../../modules/platform/types';
@@ -19,7 +13,7 @@ describe('workers/repository/update/branch/automerge', () => {
     let config: RenovateConfig;
 
     beforeEach(() => {
-      config = getConfig();
+      config = partial<RenovateConfig>();
       GlobalConfig.reset();
     });
 
diff --git a/lib/workers/repository/update/branch/lock-files/index.spec.ts b/lib/workers/repository/update/branch/lock-files/index.spec.ts
index 5c0e2fa6b9bacb72e358059364f8074fbaebfd03..e3d77a7e11202202153432c0548b73f75f1daa25 100644
--- a/lib/workers/repository/update/branch/lock-files/index.spec.ts
+++ b/lib/workers/repository/update/branch/lock-files/index.spec.ts
@@ -1,5 +1,4 @@
 import { fs, git, mocked } from '../../../../../../test/util';
-import { getConfig } from '../../../../../config/defaults';
 import { GlobalConfig } from '../../../../../config/global';
 import * as lockFiles from '../../../../../modules/manager/npm/post-update';
 import * as lerna from '../../../../../modules/manager/npm/post-update/lerna';
@@ -10,7 +9,6 @@ import type { PostUpdateConfig } from '../../../../../modules/manager/types';
 import * as _hostRules from '../../../../../util/host-rules';
 
 const config: PostUpdateConfig = {
-  ...getConfig(),
   upgrades: [],
   branchName: 'some-branch',
 };
diff --git a/lib/workers/repository/update/branch/status-checks.spec.ts b/lib/workers/repository/update/branch/status-checks.spec.ts
index 93a811f14f4639bc5f12c939a2d519332c8712aa..4faeefe9c0e849cb1c6177d1f0168db38339455d 100644
--- a/lib/workers/repository/update/branch/status-checks.spec.ts
+++ b/lib/workers/repository/update/branch/status-checks.spec.ts
@@ -1,4 +1,4 @@
-import { getConfig, platform } from '../../../../../test/util';
+import { partial, platform } from '../../../../../test/util';
 import {
   ConfidenceConfig,
   StabilityConfig,
@@ -12,10 +12,9 @@ describe('workers/repository/update/branch/status-checks', () => {
     let config: StabilityConfig;
 
     beforeEach(() => {
-      config = {
-        ...getConfig(),
+      config = partial<StabilityConfig>({
         branchName: 'renovate/some-branch',
-      };
+      });
     });
 
     afterEach(() => {
@@ -55,7 +54,6 @@ describe('workers/repository/update/branch/status-checks', () => {
 
     beforeEach(() => {
       config = {
-        ...getConfig(),
         branchName: 'renovate/some-branch',
       };
     });