unit-testing - 如何在 nSubstitute 中模拟接口的只读“ushort”类型属性?
问题描述
我需要模拟一个具有只读“ushort”类型属性的接口。看起来 nSubstitute 不允许我设置这些属性。公共接口 IExampleInterface { ushort ID{ 获取;} ...... }
IExampleInterface mockObject = Substitute.For<IExampleInterface>();
mockObject.ID.Returns(0x12); /// not allowed. error:
/// ushort does not contain a definition for 'Returns'
/// and the best extension method overload
/// 'SubstituteExtensions.Returns<int>(int, int, params int[])'
/// requires a receiver of type 'int'
mockObject.ID = 0x12; /// not allowed
如果我将行更改为以下内容,它似乎可以工作。
(int)mockObject.ID).Returns(0x12);
这是解决原始错误的正确方法吗?
解决方案
默认情况下,0x12
文字被视为int
类型。
从这里开始,Returns(0x12)
表达式的返回类型也是int
.
因此,您必须明确指定所需的类型。
mockObject.Id.Returns<ushort>(0x12);
推荐阅读
- arrays - Numpy Unique 的运行/在线版本?
- html - 如何让背景色覆盖整个 div?
- python - Handling disconnects in Python ftplib FTP transfers file upload
- ssis - SSIS: How do I query for IDs from 1st database and then select data with only those IDs on 2nd database/data warehouse?
- c# - Automapper expands all members when accessed from an OData action with EFCore using ProjectTo
- android - How to structure firebase messaging database
- java - Do While Loop to Restart Program 不断跳过程序(Java)
- numpy - Keras Deep NN 不包括所有类
- php - PHP - 使用 imagecreatefromstring() 耗尽允许的内存大小
- roku - Roku:BrightScript:如何为标签设置自定义字体和颜色?