`
lindexi-gd
  • 浏览: 136272 次
社区版块
存档分类
最新评论

win10 UWP 单元测试

 
阅读更多

我们在写代码的时候不能保证我们写出来的代码是正确的,所以我们经常要单元测试。
单元测试和重构都是在做完一个小小函数一般就要进行一次,越早做就越好,可以比较早发现问题,这时我们还记得我们写的内容,不过比重构好的是,重构我们经常不知道要叫什么名字,而单元测试反而就比较简单。

右击解决方案,添加新项目
这里写图片描述
C#->Windows->通用->单元测试应用
这里写图片描述

命名我是叫 测试

在新建单元测试右击引用
这里写图片描述

把工程引用
这里写图片描述

打开测试项目

一般测试哪个类我就会新建一个类名称和要测试类相同,类里面函数和要测试函数名相同。

我在做一个windows Markdown,里面有函数把剪贴的文本覆盖Textbox选文本,我不知道这个函数写的是不是对,于是我就在单元测试,新建一个类

测试函数所在的类是winmain,所以在单元测试新建一个类winmain

在新建类加上

using Microsoft.VisualStudio.TestPlatform.UnitTestFramework;

在类定义前

[TestClass]

在类里面加函数 clipboard_substitution
函数需要在函数前

 [TestMethod]

我的函数需要测试输入一个文本是否会把选择的string替换输入文本

我们在测试单元写测试输入

            var view =new produproperty.ViewModel.winmain(null);
            string text = "要替换文本";
            //把替换两个字替换为string
            view.text = text;
            view.select = 1;
            view.select_length = 2;
            view.clipboard_substitution("string");

然后写Assert

            Assert.AreEqual("要string文本",view.text);

右击运行
这里写图片描述

可以在运行 所有测试
这里写图片描述

测试通过
这里写图片描述

我们还要做一些诡异测试

出现错误Index and length must refer to a location within the string.
这样就是我们函数有问题

如果通过了我们才可以说我们代码可以提交

Assert是返回结果true方法是测试通过,如果是其他就不通过,Assert可以有方法

方法 描述
AreEqual 两个值是否相等
AreNotEqual 两个值不相等
AreNotSame 两个值不相同
AreSame 两个值相同
<script type="text/javascript"> $(function () { $('pre.prettyprint code').each(function () { var lines = $(this).text().split('\n').length; var $numbering = $('<ul/>').addClass('pre-numbering').hide(); $(this).addClass('has-numbering').parent().append($numbering); for (i = 1; i <= lines; i++) { $numbering.append($('<li/>').text(i)); }; $numbering.fadeIn(1700); }); }); </script>
分享到:
评论

相关推荐

    Sdp_Win10_Info_Last.zip

    对于登录功能,开发者需要进行单元测试和集成测试,确保登录流程的各个部分都能正常工作。 综上所述,这个压缩包文件可能包含的项目可能是一个使用Qt和QML实现的Windows 10应用,具有传统的账户登录功能和二维码...

    calculator-master.zip

    在“tests”目录下,你可能会找到单元测试和集成测试的代码,它们确保了每个功能模块的正确运行。 5. 资源文件:如图标、图片和其他本地化文件,这些都是提升用户体验的重要组成部分。 6. 构建和打包:源码中还...

    C++Win32实现学籍管理系统(分为几个文件实现)

    10. **测试与调试**:完成编码后,开发者需要进行单元测试和集成测试,确保所有功能正常工作,同时利用调试工具排查潜在的逻辑错误。 通过这个项目,学习者可以提升C++编程技能,理解Win32 API的使用,并了解如何...

    含钙的UWP表格验证

    7. **DevOps与架构**:在开发过程中,良好的测试和持续集成实践,如单元测试和自动化构建,可以确保验证逻辑的正确性。同时,模块化和组件化的架构设计有助于复用验证规则,提高代码质量。 通过学习和应用这些技术...

    微软开源计算器源码

    7. **测试与调试**:源码中可能包含单元测试和集成测试,用于验证计算器功能的正确性和性能。开发者可以从中学习到如何进行软件质量保证。 8. **版本控制与协作**:既然源码托管在GitHub上,那么源码管理工具可能是...

    windows编程试题.doc

    这包括设置断点、使用日志记录错误信息、编写单元测试等方法。此外,还应考虑如何优雅地处理程序崩溃等问题,提升用户体验。 ### 七、软件测试与优化 完成基本功能后,还需要对软件进行全面的测试,确保其在各种...

    Windows应用程序编程实例

    同时,单元测试和集成测试也是确保代码质量的重要手段。 七、性能优化 1. 使用适当的数据结构和算法提高程序效率。 2. 减少不必要的内存分配和拷贝。 3. 利用多核处理器进行并行计算。 4. 对关键代码段进行性能分析...

    触摸滚动的日历 类似安卓和ios的时间选择

    【标题】:“触摸滚动的日历 类似安卓和iOS的时间选择” 这个标题暗示了一个特定的UI组件,它结合了安卓和iOS界面风格的时间选择器,允许用户通过...同时,为了确保代码质量,单元测试和代码审查也是必不可少的步骤。

    db.rar_I AM_Windows编程

    11. **调试与测试**: 使用Visual Studio等IDE进行调试,了解调试技巧和调试工具的使用,以及如何进行单元测试和集成测试。 12. **文件系统操作**: 学习如何读写文件、管理文件和目录,是任何Windows应用程序的基础...

    cmake-3.25.1-windows

    5. **CTest集成**:CMake内置了测试框架CTest,可以方便地进行单元测试和集成测试,确保代码质量。 6. ** Ninja构建系统**:CMake可以生成Ninja构建文件,Ninja是一个快速的构建工具,适用于自动化构建流程,尤其...

    axAni_Allcodesinone2_

    - **单元测试**:使用如NUnit、MSTest等框架确保代码质量。 **性能优化** - **CPU和内存优化**:了解如何编写高效代码,避免不必要的资源消耗。 - **GPU编程**:对于图形密集型应用,可能需要利用DirectX或OpenGL...

    SharedNetLibs:我的项目中使用的通用.Net Standard和Win

    4. **测试文件夹(Test Folder)**:包含单元测试和集成测试,确保代码的正确性和稳定性。 5. **文档和Readme**:项目介绍、使用指南和API文档,帮助开发者理解和使用这些库。 6. **示例或演示项目(Sample or Demo ...

    visualstudio-get-started-csharp-vs-2022.pdf

    Visual Studio 提供多种工具和功能,如代码分析、调试器、单元测试、性能分析器等,旨在提高开发效率。通过自定义布局、快捷键和扩展,您可以将Visual Studio 调整为最适合自己的开发环境。 总之,Visual Studio ...

    PubComanyWinCore

    8. **单元测试**:C#支持多种单元测试框架,如MSTest、NUnit和xUnit,帮助开发者确保代码质量并进行持续集成。 9. **WPF(Windows Presentation Foundation)**:作为Windows桌面应用开发的重要组成部分,WPF提供了...

    BBallGraphs:以图形形式显示的NBA数据,可轻松比较球员

    此外,单元测试和持续集成也是保证项目质量的重要手段。 总的来说,BBallGraphs是一个结合了篮球数据统计、图形化展示和C#技术的项目,旨在提供一个用户友好的平台,帮助篮球爱好者和分析师更有效地理解和分析NBA...

    csharp-usb-hid-driver-master.zip_Windows编程_WINDOWS__Windows编程_WINDOWS_

    6. **测试与调试**:项目可能包含测试代码和调试指南,帮助开发者确保驱动程序的稳定性和兼容性。 7. **文档**:详细说明如何使用该驱动程序,可能包括API参考、设计决策和常见问题解答。 8. **许可证文件**:开源...

Global site tag (gtag.js) - Google Analytics