update test sample

This commit is contained in:
何冠峰
2026-01-14 19:27:39 +08:00
parent 329cae1441
commit f188cc715a
6 changed files with 52 additions and 39 deletions
@@ -59,9 +59,9 @@ public class T1_TestEditorFileSystem : IPrebuildSetup, IPostBuildCleanup
var package = YooAssets.CreatePackage(TestDefine.AssetBundlePackageName); var package = YooAssets.CreatePackage(TestDefine.AssetBundlePackageName);
// 初始化资源包 // 初始化资源包
var initParams = new EditorSimulateModeParameters(); var initParams = new EditorSimulateModeOptions();
initParams.EditorFileSystemParameters = FileSystemParameters.CreateDefaultEditorFileSystemParameters(packageRoot); initParams.EditorFileSystemParameters = FileSystemParameters.CreateDefaultEditorFileSystemParameters(packageRoot);
var initializeOp = package.InitializeAsync(initParams); var initializeOp = package.InitializePackageAsync(initParams);
yield return initializeOp; yield return initializeOp;
if (initializeOp.Status != EOperationStatus.Succeed) if (initializeOp.Status != EOperationStatus.Succeed)
Debug.LogError(initializeOp.Error); Debug.LogError(initializeOp.Error);
@@ -75,11 +75,12 @@ public class T1_TestEditorFileSystem : IPrebuildSetup, IPostBuildCleanup
Assert.AreEqual(EOperationStatus.Succeed, requetVersionOp.Status); Assert.AreEqual(EOperationStatus.Succeed, requetVersionOp.Status);
// 更新资源清单 // 更新资源清单
var updateManifestOp = package.UpdatePackageManifestAsync(requetVersionOp.PackageVersion); var loadPackageManifestOptions = new LoadPackageManifestOptions(requetVersionOp.PackageVersion, 60);
yield return updateManifestOp; var loadPackageManifestOp = package.LoadPackageManifestAsync(loadPackageManifestOptions);
if (updateManifestOp.Status != EOperationStatus.Succeed) yield return loadPackageManifestOp;
Debug.LogError(updateManifestOp.Error); if (loadPackageManifestOp.Status != EOperationStatus.Succeed)
Assert.AreEqual(EOperationStatus.Succeed, updateManifestOp.Status); Debug.LogError(loadPackageManifestOp.Error);
Assert.AreEqual(EOperationStatus.Succeed, loadPackageManifestOp.Status);
} }
// 初始化资源包 RAW_BUNDLE // 初始化资源包 RAW_BUNDLE
@@ -94,9 +95,9 @@ public class T1_TestEditorFileSystem : IPrebuildSetup, IPostBuildCleanup
var package = YooAssets.CreatePackage(TestDefine.RawBundlePackageName); var package = YooAssets.CreatePackage(TestDefine.RawBundlePackageName);
// 初始化资源包 // 初始化资源包
var initParams = new EditorSimulateModeParameters(); var initParams = new EditorSimulateModeOptions();
initParams.EditorFileSystemParameters = FileSystemParameters.CreateDefaultEditorFileSystemParameters(packageRoot); initParams.EditorFileSystemParameters = FileSystemParameters.CreateDefaultEditorFileSystemParameters(packageRoot);
var initializeOp = package.InitializeAsync(initParams); var initializeOp = package.InitializePackageAsync(initParams);
yield return initializeOp; yield return initializeOp;
if (initializeOp.Status != EOperationStatus.Succeed) if (initializeOp.Status != EOperationStatus.Succeed)
Debug.LogError(initializeOp.Error); Debug.LogError(initializeOp.Error);
@@ -110,11 +111,12 @@ public class T1_TestEditorFileSystem : IPrebuildSetup, IPostBuildCleanup
Assert.AreEqual(EOperationStatus.Succeed, requetVersionOp.Status); Assert.AreEqual(EOperationStatus.Succeed, requetVersionOp.Status);
// 更新资源清单 // 更新资源清单
var updateManifestOp = package.UpdatePackageManifestAsync(requetVersionOp.PackageVersion); var loadPackageManifestOptions = new LoadPackageManifestOptions(requetVersionOp.PackageVersion, 60);
yield return updateManifestOp; var loadPackageManifestOp = package.LoadPackageManifestAsync(loadPackageManifestOptions);
if (updateManifestOp.Status != EOperationStatus.Succeed) yield return loadPackageManifestOp;
Debug.LogError(updateManifestOp.Error); if (loadPackageManifestOp.Status != EOperationStatus.Succeed)
Assert.AreEqual(EOperationStatus.Succeed, updateManifestOp.Status); Debug.LogError(loadPackageManifestOp.Error);
Assert.AreEqual(EOperationStatus.Succeed, loadPackageManifestOp.Status);
} }
} }
@@ -59,13 +59,13 @@ public class T2_TestBuldinFileSystem : IPrebuildSetup, IPostBuildCleanup
var package = YooAssets.CreatePackage(TestDefine.AssetBundlePackageName); var package = YooAssets.CreatePackage(TestDefine.AssetBundlePackageName);
// 初始化资源包 // 初始化资源包
var initParams = new OfflinePlayModeParameters(); var initParams = new OfflinePlayModeOptions();
var fileDecryption = new TestFileStreamDecryption(); var fileDecryption = new TestFileStreamDecryption();
var manifestServices = new TestRestoreManifest(); var manifestServices = new TestRestoreManifest();
initParams.BuildinFileSystemParameters = FileSystemParameters.CreateDefaultBuildinFileSystemParameters(fileDecryption, packageRoot); initParams.BuildinFileSystemParameters = FileSystemParameters.CreateDefaultBuildinFileSystemParameters(fileDecryption, packageRoot);
initParams.BuildinFileSystemParameters.AddParameter(FileSystemParametersDefine.DISABLE_CATALOG_FILE, true); initParams.BuildinFileSystemParameters.AddParameter(FileSystemParametersDefine.DISABLE_CATALOG_FILE, true);
initParams.BuildinFileSystemParameters.AddParameter(FileSystemParametersDefine.MANIFEST_SERVICES, manifestServices); initParams.BuildinFileSystemParameters.AddParameter(FileSystemParametersDefine.MANIFEST_SERVICES, manifestServices);
var initializeOp = package.InitializeAsync(initParams); var initializeOp = package.InitializePackageAsync(initParams);
yield return initializeOp; yield return initializeOp;
if (initializeOp.Status != EOperationStatus.Succeed) if (initializeOp.Status != EOperationStatus.Succeed)
Debug.LogError(initializeOp.Error); Debug.LogError(initializeOp.Error);
@@ -79,11 +79,12 @@ public class T2_TestBuldinFileSystem : IPrebuildSetup, IPostBuildCleanup
Assert.AreEqual(EOperationStatus.Succeed, requetVersionOp.Status); Assert.AreEqual(EOperationStatus.Succeed, requetVersionOp.Status);
// 更新资源清单 // 更新资源清单
var updateManifestOp = package.UpdatePackageManifestAsync(requetVersionOp.PackageVersion); var loadPackageManifestOptions = new LoadPackageManifestOptions(requetVersionOp.PackageVersion, 60);
yield return updateManifestOp; var loadPackageManifestOp = package.LoadPackageManifestAsync(loadPackageManifestOptions);
if (updateManifestOp.Status != EOperationStatus.Succeed) yield return loadPackageManifestOp;
Debug.LogError(updateManifestOp.Error); if (loadPackageManifestOp.Status != EOperationStatus.Succeed)
Assert.AreEqual(EOperationStatus.Succeed, updateManifestOp.Status); Debug.LogError(loadPackageManifestOp.Error);
Assert.AreEqual(EOperationStatus.Succeed, loadPackageManifestOp.Status);
} }
// 初始化资源包 RAW_BUNDLE // 初始化资源包 RAW_BUNDLE
@@ -98,11 +99,11 @@ public class T2_TestBuldinFileSystem : IPrebuildSetup, IPostBuildCleanup
var package = YooAssets.CreatePackage(TestDefine.RawBundlePackageName); var package = YooAssets.CreatePackage(TestDefine.RawBundlePackageName);
// 初始化资源包 // 初始化资源包
var initParams = new OfflinePlayModeParameters(); var initParams = new OfflinePlayModeOptions();
initParams.BuildinFileSystemParameters = FileSystemParameters.CreateDefaultBuildinFileSystemParameters(null, packageRoot); initParams.BuildinFileSystemParameters = FileSystemParameters.CreateDefaultBuildinFileSystemParameters(null, packageRoot);
initParams.BuildinFileSystemParameters.AddParameter(FileSystemParametersDefine.APPEND_FILE_EXTENSION, true); initParams.BuildinFileSystemParameters.AddParameter(FileSystemParametersDefine.APPEND_FILE_EXTENSION, true);
initParams.BuildinFileSystemParameters.AddParameter(FileSystemParametersDefine.DISABLE_CATALOG_FILE, true); initParams.BuildinFileSystemParameters.AddParameter(FileSystemParametersDefine.DISABLE_CATALOG_FILE, true);
var initializeOp = package.InitializeAsync(initParams); var initializeOp = package.InitializePackageAsync(initParams);
yield return initializeOp; yield return initializeOp;
if (initializeOp.Status != EOperationStatus.Succeed) if (initializeOp.Status != EOperationStatus.Succeed)
Debug.LogError(initializeOp.Error); Debug.LogError(initializeOp.Error);
@@ -116,11 +117,12 @@ public class T2_TestBuldinFileSystem : IPrebuildSetup, IPostBuildCleanup
Assert.AreEqual(EOperationStatus.Succeed, requetVersionOp.Status); Assert.AreEqual(EOperationStatus.Succeed, requetVersionOp.Status);
// 更新资源清单 // 更新资源清单
var updateManifestOp = package.UpdatePackageManifestAsync(requetVersionOp.PackageVersion); var loadPackageManifestOptions = new LoadPackageManifestOptions(requetVersionOp.PackageVersion, 60);
yield return updateManifestOp; var loadPackageManifestOp = package.LoadPackageManifestAsync(loadPackageManifestOptions);
if (updateManifestOp.Status != EOperationStatus.Succeed) yield return loadPackageManifestOp;
Debug.LogError(updateManifestOp.Error); if (loadPackageManifestOp.Status != EOperationStatus.Succeed)
Assert.AreEqual(EOperationStatus.Succeed, updateManifestOp.Status); Debug.LogError(loadPackageManifestOp.Error);
Assert.AreEqual(EOperationStatus.Succeed, loadPackageManifestOp.Status);
} }
} }
@@ -44,7 +44,7 @@ public class T3_TestCacheFileSystem : IPrebuildSetup, IPostBuildCleanup
var package = YooAssets.CreatePackage(TestDefine.AssetBundlePackageName); var package = YooAssets.CreatePackage(TestDefine.AssetBundlePackageName);
// 初始化资源包 // 初始化资源包
var initParams = new HostPlayModeParameters(); var initParams = new HostPlayModeOptions();
var fileDecryption = new TestFileStreamDecryption(); var fileDecryption = new TestFileStreamDecryption();
var manifestServices = new TestRestoreManifest(); var manifestServices = new TestRestoreManifest();
@@ -53,7 +53,7 @@ public class T3_TestCacheFileSystem : IPrebuildSetup, IPostBuildCleanup
initParams.BuildinFileSystemParameters = null; initParams.BuildinFileSystemParameters = null;
initParams.CacheFileSystemParameters = FileSystemParameters.CreateDefaultCacheFileSystemParameters(remoteServices, fileDecryption); initParams.CacheFileSystemParameters = FileSystemParameters.CreateDefaultCacheFileSystemParameters(remoteServices, fileDecryption);
initParams.CacheFileSystemParameters.AddParameter(FileSystemParametersDefine.MANIFEST_SERVICES, manifestServices); initParams.CacheFileSystemParameters.AddParameter(FileSystemParametersDefine.MANIFEST_SERVICES, manifestServices);
var initializeOp = package.InitializeAsync(initParams); var initializeOp = package.InitializePackageAsync(initParams);
yield return initializeOp; yield return initializeOp;
if (initializeOp.Status != EOperationStatus.Succeed) if (initializeOp.Status != EOperationStatus.Succeed)
Debug.LogError(initializeOp.Error); Debug.LogError(initializeOp.Error);
@@ -67,11 +67,12 @@ public class T3_TestCacheFileSystem : IPrebuildSetup, IPostBuildCleanup
Assert.AreEqual(EOperationStatus.Succeed, requetVersionOp.Status); Assert.AreEqual(EOperationStatus.Succeed, requetVersionOp.Status);
// 更新资源清单 // 更新资源清单
var updateManifestOp = package.UpdatePackageManifestAsync(requetVersionOp.PackageVersion); var loadPackageManifestOptions = new LoadPackageManifestOptions(requetVersionOp.PackageVersion, 60);
yield return updateManifestOp; var loadPackageManifestOp = package.LoadPackageManifestAsync(loadPackageManifestOptions);
if (updateManifestOp.Status != EOperationStatus.Succeed) yield return loadPackageManifestOp;
Debug.LogError(updateManifestOp.Error); if (loadPackageManifestOp.Status != EOperationStatus.Succeed)
Assert.AreEqual(EOperationStatus.Succeed, updateManifestOp.Status); Debug.LogError(loadPackageManifestOp.Error);
Assert.AreEqual(EOperationStatus.Succeed, loadPackageManifestOp.Status);
} }
} }
private class TestRemoteServices : IRemoteServices private class TestRemoteServices : IRemoteServices
@@ -36,9 +36,9 @@ public class TestBundlePlaying
{ {
// 验证失败结果 // 验证失败结果
UnityEngine.TestTools.LogAssert.ignoreFailingMessages = true; UnityEngine.TestTools.LogAssert.ignoreFailingMessages = true;
var assetsHandle = package.LoadAssetSync<GameObject>("prefab_encryptB"); var assetsHandle = package.LoadAssetSync<GameObject>("prefab_encryptB");
Assert.AreEqual(EOperationStatus.Failed, assetsHandle.Status);
UnityEngine.TestTools.LogAssert.ignoreFailingMessages = false; UnityEngine.TestTools.LogAssert.ignoreFailingMessages = false;
Assert.AreEqual(EOperationStatus.Failed, assetsHandle.Status);
// 清理加载器 // 清理加载器
assetsHandle.Release(); assetsHandle.Release();
@@ -47,7 +47,9 @@ public class TestBundlePlaying
// 验证成功结果 // 验证成功结果
// 说明:同步加载也会触发远端下载任务! // 说明:同步加载也会触发远端下载任务!
yield return new WaitForSeconds(1f); yield return new WaitForSeconds(1f);
UnityEngine.TestTools.LogAssert.ignoreFailingMessages = true;
assetsHandle = package.LoadAssetSync<GameObject>("prefab_encryptB"); assetsHandle = package.LoadAssetSync<GameObject>("prefab_encryptB");
UnityEngine.TestTools.LogAssert.ignoreFailingMessages = false;
Assert.AreEqual(EOperationStatus.Succeed, assetsHandle.Status); Assert.AreEqual(EOperationStatus.Succeed, assetsHandle.Status);
} }
} }
@@ -16,7 +16,7 @@ public class TestDestroyPackage
// 销毁旧资源包 ASSET_BUNDLE // 销毁旧资源包 ASSET_BUNDLE
{ {
var package = YooAssets.GetPackage(TestDefine.AssetBundlePackageName); var package = YooAssets.GetPackage(TestDefine.AssetBundlePackageName);
var destroyOp = package.DestroyAsync(); var destroyOp = package.DestroyPackageAsync();
yield return destroyOp; yield return destroyOp;
if (destroyOp.Status != EOperationStatus.Succeed) if (destroyOp.Status != EOperationStatus.Succeed)
Debug.LogError(destroyOp.Error); Debug.LogError(destroyOp.Error);
@@ -30,7 +30,7 @@ public class TestDestroyPackage
if (destroyRawPackage) if (destroyRawPackage)
{ {
var package = YooAssets.GetPackage(TestDefine.RawBundlePackageName); var package = YooAssets.GetPackage(TestDefine.RawBundlePackageName);
var destroyOp = package.DestroyAsync(); var destroyOp = package.DestroyPackageAsync();
yield return destroyOp; yield return destroyOp;
if (destroyOp.Status != EOperationStatus.Succeed) if (destroyOp.Status != EOperationStatus.Succeed)
Debug.LogError(destroyOp.Error); Debug.LogError(destroyOp.Error);
@@ -38,7 +38,13 @@ public class TestLoadAsset
// 同步加载音效 // 同步加载音效
{ {
int loadFrame = Time.frameCount;
var assetHandle = package.LoadAssetSync<AudioClip>("sound_b"); var assetHandle = package.LoadAssetSync<AudioClip>("sound_b");
assetHandle.Completed += (AssetHandle handle) =>
{
Assert.AreEqual(loadFrame, Time.frameCount);
};
Assert.AreEqual(true, assetHandle.Provider.IsFinish);
Assert.AreEqual(EOperationStatus.Succeed, assetHandle.Status); Assert.AreEqual(EOperationStatus.Succeed, assetHandle.Status);
var audioClip = assetHandle.AssetObject as AudioClip; var audioClip = assetHandle.AssetObject as AudioClip;