【Unity学习笔记】Unity TestRunner使用

这篇具有很好参考价值的文章主要介绍了【Unity学习笔记】Unity TestRunner使用。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

转载请注明出处:🔗https://blog.csdn.net/weixin_44013533/article/details/135733479
作者:CSDN@|Ringleader|

参考:

  • Input testing
  • Getting started with Unity Test Framework
  • HowToRunUnityUnitTest
  • 如果对Unity的newInputSystem感兴趣可以参看我这篇文章:【Unity学习笔记】第十二 · New Input System 及其系统结构 和 源码浅析

使用步骤

  1. 打开Unity Test Runner(菜单栏中的 Windows▸General▸Test Runner)

  2. 添加测试文件夹,在此文件夹下添加assembly definition (菜单栏中: Create > Assembly Definition)
    【Unity学习笔记】Unity TestRunner使用,unity,unity,testRunner,InputSystem

  3. 点击Assembly文件的Inspector窗口,添加 nunit.framework.dll、UnityEngine.TestRunner、 UnityEditor.TestRunner, 测试Input System时额外添加 Unity.InputSystem 和Unity.InputSystem.TestFramework。
    【Unity学习笔记】Unity TestRunner使用,unity,unity,testRunner,InputSystem

  4. 文件夹下添加代码,或使用NewInputSystem官方提供的测试用例 Unity-Technologies/InputSystem
    【Unity学习笔记】Unity TestRunner使用,unity,unity,testRunner,InputSystem

  5. 运行测试
    【Unity学习笔记】Unity TestRunner使用,unity,unity,testRunner,InputSystem

使用案例

放一个NewInputSystem的使用案例:文章来源地址https://www.toymoban.com/news/detail-815443.html

using System.Diagnostics.CodeAnalysis;
using NUnit.Framework;
using UnityEngine.InputSystem;

#pragma warning disable CS0649

// As should be obvious from the number of tests in here, the action system rivals the entire combined rest of the system
// in terms of complexity.
namespace Scenes.TestAction
{
    [SuppressMessage("ReSharper", "AccessToStaticMemberViaDerivedType")]
    public class TestAction : InputTestFixture
    {
        [Test]
        [Category("Actions")]
        public void Actions_WhenShortcutsDisabled_AllConflictingActionsTrigger()
        {
            var keyboard = InputSystem.AddDevice<Keyboard>();

            var map1 = new InputActionMap("map1");
            var action1 = map1.AddAction(name: "action1");
            action1.AddCompositeBinding("2DVector")
                .With("Up", "<Keyboard>/w")
                .With("Down", "<Keyboard>/s")
                .With("Left", "<Keyboard>/a")
                .With("Right", "<Keyboard>/d");

            var map2 = new InputActionMap("map2");
            var action2 = map2.AddAction(name: "action2");
            action2.AddCompositeBinding("2DVector")
                .With("Up", "<Keyboard>/w")
                .With("Down", "<Keyboard>/s")
                .With("Left", "<Keyboard>/a")
                .With("Right", "<Keyboard>/d");
            var action3 = map2.AddAction(name: "action3", binding: "<Keyboard>/w");

            map1.Enable();
            map2.Enable();

            Press(keyboard.wKey);

            // All Actions were triggered
            Assert.That(action1.WasPerformedThisFrame());
            Assert.That(action2.WasPerformedThisFrame());
            Assert.That(action3.WasPerformedThisFrame());
        }

    }

}

到了这里,关于【Unity学习笔记】Unity TestRunner使用的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Unity使用新输入系统InputSystem制作飞机大战Demo(后处理配置、子弹的发射……)

    @作者 : SYFStrive @博客首页 : HomePage 📌: 个人社区(欢迎大佬们加入) 👉: 社区链接🔗 📌: 觉得文章不错可以点点关注 👉: 专栏连接🔗 💃: 程序员每天坚持锻炼💪 👉 飞机大战专栏 (🔥) 单例模式是1种设计模式:👉(Design pattern)代表了最佳的实践,通常被有经

    2024年01月22日
    浏览(39)
  • Unity使用新输入系统InputSystem制作飞机大战Demo(对象池设计模式及应用)

    @作者 : SYFStrive @博客首页 : HomePage 📌: 个人社区(欢迎大佬们加入) 👉: 社区链接🔗 📌: 觉得文章不错可以点点关注 👉: 专栏连接🔗 💃: 程序员每天坚持锻炼💪 👉 飞机大战专栏 (🔥) 单例模式是1种设计模式:👉(Design pattern)代表了最佳的实践,通常被有经

    2024年01月23日
    浏览(44)
  • Unity解决:3D开发模式第三人称视角 WASD控制角色移动旋转 使用InputSystem

    Unity版本:2019.2.3f1 目录  安装InputSystem 1:创建InputHander.cs脚本 挂载到Player物体上 获取键盘输入WADS 2.创建PlayerLocomotion.cs挂载到Player物体上,控制物体移动转向   菜单栏/Window/Package Manager/Input System  工程面板内 右键--创建Input Actions  选中New Controls改名为PlayerControls 然后属

    2024年02月06日
    浏览(46)
  • Unity全新的输入系统InputSystem

    在Unity中,默认使用的是旧的输入管理器(InputSystemOld) 在脚本中,利用Input类可以获得用户的输入操作,以及访问移动设备的多点触控或加速感应数据,Input类可以读取输入管理器中设置的按键,在Updata函数中监测用户的输入。 1.虚拟轴 在项目设置中可以看到虚拟轴的相关设

    2024年02月05日
    浏览(49)
  • Unity之新版输入系统InputSystem入门

    最近Unity版本全面升级到Unity2021了,着色器也全面使用URP,接下来毫无疑问,输入系统也要全面升级InputSystem,这也是Unity官方希望我们做的,毕竟现在都2023年了,我们的技术是需要跟上时代的步伐。 老版本的InputSysten系统,其实就一个Input静态类,官方给我们预定了一些常用

    2024年02月16日
    浏览(37)
  • 【Unity InputSystem】实用教程-实现角色移动跳跃功能(Input System在PC端鼠键!手机端触摸屏!主机手柄!三端使用教程)

    在上一篇文章当中我们手把手的跟大家分享了InputSystem的基础操作(如何使用5种不同的方式获取到InputSystem种的输入检查信息)。那么接下来我们继续分享一下在我们获取到InputSystem输入信息后,如何使用检测到的信息实现我们对应的输入功能。 本次我们使用的Unity编辑器版本为

    2024年02月11日
    浏览(45)
  • Unity之新版输入系统InputSystem如何自定义InputActions

    上一篇文章,我们介绍了如何使用新版本的InputSystem,我们知道了InputActionsAsset给我们提供了更多的灵活性,扩展性和复用性。那么这篇文章我们就来介绍一下如何创建自定义InputActionAsset Input Action Asset 包含输入 Actions及其关联的Bindings和Control Schemes 的资源。这些资源文件扩展

    2024年02月11日
    浏览(45)
  • Unity简单操作:InputSystem获取WASD键盘输入 移动人物

      目录 安装InputSystem  在编辑的脚本中使用 InputSystem生成的脚本 Unity版本:2019.2.3f1 菜单栏/Window/Package Manager/Input System  工程面板内 右键--创建Input Actions   选中New Controls改名为PlayerControls 然后属性 面板按下Edit asset  Action Maps添加:PlayerMovement   Actions添加:New action 改名为

    2024年02月16日
    浏览(30)
  • 【Unity InputSystem】基础教程(保姆级超详细超基础!!!)

    随着Unity的不断发展,开发者们对Unity的项目输入系统要求也越来越高,经常会有项目在做多平台适配和跨平台移植时对变更输入系统而感到烦恼。而InputSystem这款插件正是Unity官方为了解决广大开发者而推出的一款新的输入方式。 相较于旧版的InputManager,InputSystem的操作虽然

    2024年02月11日
    浏览(32)
  • Unity InputSystem 实现同一按键单击、双击、长按执行不同逻辑

    最近学习了一下Unity InputSystem。该系统可用于实现、管理复杂的操作逻辑,上限很高。但由于它有一定的学习成本,导致一些和我一样的小白一入门时不得要领。之前卡住我的一个需求就是通过InputSystem 实现同一按键单击、双击、长按执行不同逻辑。例如点击单位执行攻击、

    2024年02月05日
    浏览(44)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包