我正在将单元测试作为ASP.NET Core MVC解决方案的一部分运行。确切地说,.NET Core的版本是2.1。
我在launchSettings.json文件中创建了一个配置文件部分,其中包含我想由测试运行程序加载和注入的环境变量,以便环境变量可用,并且在运行单元测试时可以包含特定值。
我的ASP.NET Core MVC项目中的launchSettings.json作为链接添加到了我的单元测试项目中,并且属性设置为“生成操作-无,复制到输出文件夹-始终复制”。
该文件将复制到我的输出文件夹,但是我不确定如何让测试运行器将此文件与UnitTesting配置文件一起使用。我尝试使用单词“ Test”作为配置文件名称,但似乎没有任何效果。
这是一个示例launchSettings.json文件:
{
"iisSettings": {
"windowsAuthentication": false,
"anonymousAuthentication": true,
"iisExpress": {
"applicationUrl": "http://localhost:62267/",
"sslPort": 0
}
},
"profiles": {
"IIS Express": {
"commandName": "IISExpress",
"launchBrowser": true,
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development",
"MigrationHistoryTableName": "MigrationHistory",
"ConnectionStringName": "EFConnectionString",
"Redis__SSL": "True",
"Redis__Port": "6380",
"Redis__InstanceName": "RedisDev",
"Redis__AbortConnect": "False",
"Redis__ConnectionString": "{URI}:{Port},password={Password},ssl={SSL},abortConnect={AbortConnect}"
}
},
"MyDataServices": {
"commandName": "Project",
"launchBrowser": true,
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development",
"MigrationHistoryTableName": "MigrationHistory",
"ConnectionStringName": "EFConnectionString",
"Redis__SSL": "True",
"Redis__Port": "6380",
"Redis__InstanceName": "RedisDev",
"Redis__AbortConnect": "False",
"Redis__ConnectionString": "{URI}:{Port},password={Password},ssl={SSL},abortConnect={AbortConnect}"
}, …Run Code Online (Sandbox Code Playgroud) 从Azure门户,我们可以轻松创建功能应用程序.创建功能应用程序后,我们可以向应用程序添加功能.
就我而言,从自定义模板中,我选择C#,API和Webhooks,然后选择Generic Webhook C#模板.
在"集成"菜单的" HTTP标题"标题下,有一个下拉框,其中包含2个选项:"所有方法"和"所选方法".然后我选择Selected Methods,然后选择选择函数可以支持的HTTP方法.我希望我的函数支持GET,PATCH,DELETE,POST和PUT.
在C#run.csx代码中,如何判断使用哪种方法来调用该方法?我希望能够根据用于调用函数的HTTP方法在函数代码中执行不同的操作.
这可能吗?
谢谢您的帮助.
我正在按照 Postman 博客中的这些说明使用 Postman 调用 WCF (SOAP) Web 服务:
我不断收到此错误消息:
由于 EndpointDispatcher 的 ContractFilter 不匹配,接收方无法处理带有 Action '' 的消息。这可能是因为合同不匹配(发送方和接收方之间的操作不匹配)或发送方和接收方之间的绑定/安全不匹配。检查发送方和接收方是否具有相同的合同和相同的绑定(包括安全要求,例如消息、传输、无)。
这个特定的服务原型没有安全性,当我检查 WCF 服务日志时,我看到这条消息是红色的:
处理动作''。
知道如何解决这个问题并在请求中映射 SOAP 操作吗?
最近,我重构了一些代码,这些代码导致将实体的某些属性的类型从System.String更改为System.URI。有问题的属性名称包含子字符串URI或URL,并且SonarLint静态代码分析器建议将代码重构为使用System.URI类型而不是System.String这些属性,这在我们的解决方案中很有意义。
在这个项目中,我们将StackExchange的Dapper用作超快速轻量级的对象映射器,但是在重构之后,当我尝试从存储库中检索数据时,我开始收到此错误:
System.Data.DataException
HResult=0x80131501
Message=Error parsing column 5 (RequestUrl=https://www.myurl.com/api/wow - String)
Source=Dapper
StackTrace:
at Dapper.SqlMapper.ThrowDataException(Exception ex, Int32 index, IDataReader reader, Object value) in C:\projects\dapper\Dapper\SqlMapper.cs:line 3609
at Dapper.SqlMapper.<>c__DisplayClass156_0`8.<GenerateMapper>b__1(IDataReader r) in C:\projects\dapper\Dapper\SqlMapper.cs:line 1544
at Dapper.SqlMapper.<MultiMapImpl>d__153`8.MoveNext() in C:\projects\dapper\Dapper\SqlMapper.cs:line 1444
at System.Collections.Generic.List`1.AddEnumerable(IEnumerable`1 enumerable)
at System.Linq.Enumerable.ToList[TSource](IEnumerable`1 source)
at Dapper.SqlMapper.<MultiMapAsync>d__52`8.MoveNext() in C:\projects\dapper\Dapper\SqlMapper.Async.cs:line 949
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1.ConfiguredTaskAwaiter.GetResult()
at My.Namespace.MyRepository.<GetAllRepositoryMethod>d__2.MoveNext() in C:\dev\repos\myproject\MyRepository.cs:line 59
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Runtime.CompilerServices.TaskAwaiter`1.GetResult()
at My.Namespace.Program.CallerMethod(Object …Run Code Online (Sandbox Code Playgroud)