小编Md *_*lam的帖子

测试类应该只有一个公共零参数构造函数

我写了一个测试类,如下所示

public class MyParameterizedClassTest extends BaseRepositoryTest {
    private int multiplierA;
    private int multiplierB;
    public MyParameterizedClassTest(int multiplierA) {
        this.multiplierA = multiplierA;

    }   

    @Parameters
    public static Collection<Object[]> data() { 
        Object[][] data = new Object[][] { { 1 }, { 5 }, { 121 } };
        return Arrays.asList(data);
    }

    @Test
    public void testMultiplyException() {
        assertEquals("Result", multiplierA * multiplierA,multiply(multiplierA));
    }

    public int multiply(int a){
        return a*a;
    }
 }
Run Code Online (Sandbox Code Playgroud)

我的BaseRepositoryTest类如下

@RunWith (Parameterized.class)
@ContextConfiguration(locations = {"classpath:applicationContext.xml"})
public abstract class BaseRepositoryTest extends
    AbstractJUnit4SpringContextTests {



    @Inject
    SessionFactory sessionFactory; …
Run Code Online (Sandbox Code Playgroud)

java parameters junit

14
推荐指数
4
解决办法
4万
查看次数

使用 Startup 类的 .Net 5 Azure Function App

我创建了一个基于 HTTP 触发器的 .Net 5 Azure FunctionApp 并尝试为我的服务类配置数据库连接字符串和依赖项注入,但是我不知道如何从 Program.cs 调用 Startup.cs 文件的配置方法主功能。我是基于 FunctionApp 的托管新手。

我在 Program.cs 文件中尝试过使用 IHostBuilder,如下所示,但它说:“不包含ConfigureWebHostDefaults 的定义”甚至使用了命名空间 => using Microsoft.AspNetCore.Hosting;

public static void Main(string[] args)
{
    var host = new HostBuilder().ConfigureFunctionsWorkerDefaults()            
            .Build();

    //CreateHostBuilder(args).Build().Run();
    host.Run();
}

public static IHostBuilder CreateHostBuilder(string[] args) =>
Host.CreateDefaultBuilder(args)
.ConfigureWebHostDefaults(webBuilder =>
{
   webBuilder.UseStartup<Startup>();
});
Run Code Online (Sandbox Code Playgroud)

我的 Startup.cs 文件,

[assembly: FunctionsStartup(typeof(Startup))]
namespace kpi
{
  public class Startup : FunctionsStartup
  {
    private static IConfiguration _configuration = null;        

    public override void Configure(IFunctionsHostBuilder builder)
    {
        var serviceProvider = builder.Services.BuildServiceProvider();
        _configuration …
Run Code Online (Sandbox Code Playgroud)

configuration .net-core azure-functions .net-5

13
推荐指数
1
解决办法
2万
查看次数

必需如果对MVC4中的两个变量进行条件验证

我有一个跟随的模型类

 public bool Saturday{ get; set; }

 public bool Sunday{ get; set; }

 public string Holiday{ get; set; }
Run Code Online (Sandbox Code Playgroud)

我想使用星期六和星期日字段在Holiday字段中使用RequiredIf条件.我可以使用如下

   [RequiredIf("Sunday,Saturday",false)]
   public string Holiday{ get; set; }
Run Code Online (Sandbox Code Playgroud)

所以我不知道如何在我的模型类中使用RequiredIf条件,所以请有人帮助我

c# model required-field asp.net-mvc-4 foolproof-validation

9
推荐指数
1
解决办法
2万
查看次数

如何处理NUnit中的抛出异常

我已经在C#中为我的MVC项目编写了一个单元测试类.

测试方法如下

 [Test]
    public void To_Add_DocumentStatusIsNull_ThrowsInvalidOperationException_ServiceTest()
    {
        try
        {

        _IDocumentStatusRepositoryMock = new Mock<IDocumentStatusRepository>();
        _unitOfWorkMock = new Mock<IUnitOfWork>();

        DocumentStatusService documentStatusService = new  
         DocumentStatusService(_unitOfWorkMock.Object,  
          _IDocumentStatusRepositoryMock.Object); 

        DocumentStatus documentStatus;
        documentStatus = null;

        _IDocumentStatusRepositoryMock.Setup(m => m.Add(documentStatus));
        documentStatusService.Add(documentStatus);

        Assert.Pass();

        }
        catch (Exception e)
        {
            throw new Exception(e.Message);
        }
    }
Run Code Online (Sandbox Code Playgroud)

服务方法如下

   public virtual void Add(TEntity entity)
    {
        try
        {

        if (entity == null)
        {
            throw new ArgumentNullException("entity");
        }
        _repository.Add(entity);

        }
        catch (Exception e)
        {
            throw new Exception(e.Message);
        }
    }
Run Code Online (Sandbox Code Playgroud)

现在这个测试方法只是因为服务类抛出而没有传递ArgumentNullException.So如何处理ArgumentNullException或如何让这个测试通过?

请任何人帮忙

c# asp.net-mvc nunit moq

8
推荐指数
1
解决办法
8885
查看次数

LINQ:如何通过group by子句获取最大ID?

我正在寻找一种在LINQ中使用'Group By'子句获取最大ID记录的方法

考虑以下样本数据

  Table: ProcessAud

  ProcessSeq     ProjectSeq   ProjectValue    Active
      11              1           50000          Y
      12              1           10000          Y
      13              2           70000          Y 
      14              2           90000          Y
Run Code Online (Sandbox Code Playgroud)

在其中我想获得两个记录作为列表,例如第二和第四
条记录(即ProcessSeq 12和14)。

var ProcessAudList = ProcessAudService.FilterBy(x => x.Active == "Y"    
  ).GroupBy(x => x.ProjectSeq).Max().ToList();
Run Code Online (Sandbox Code Playgroud)

它无法正常工作,因此如何在LINQ中做到这一点。请任何人帮助。

c# linq oracle group-by max

5
推荐指数
2
解决办法
3214
查看次数

实体框架:(?)问号的用途/含义是什么

我是我的新项目,他们在项目中使用Entity Framework和LINQ来操作数据库数据.在这里,我无法理解为什么在以下查询中的get()方法之后使用问号(?).是否可以使用(?)标记,如下所示?如果是,那么请你详细解释一下.

 uOW.ApplicationDetailsRepository.Get()?
                    .Where (x=>x.Name=="SomeConditions").Tolist();
Run Code Online (Sandbox Code Playgroud)

c# linq entity-framework entity-framework-6

2
推荐指数
1
解决办法
404
查看次数

LaunchDarkly Bootstrapping:(JS)预期的财产分配

我正在设置LaunchDarkly来控制我的第一个功能标志,它在服务器和客户端的工作正常.现在我正在尝试LaunchDarkly Bootstrap方法(从下面给出的链接)并尝试下面我的代码,但它不接受双括号,我不知道如何通过使用bootstrap方法获得标志值,所以我做错了在我的代码?有谁可以帮我举个例子?

链接,

https://docs.launchdarkly.com/docs/js-sdk-reference#section-bootstrapping
Run Code Online (Sandbox Code Playgroud)

使用Bootstrap选项初始化客户端,如下所示,

client = LDClient.initialize(sdkKey, userContext.user, options = {
        bootstrap: {
            {{ ldclient.all_flags(userContext.user) }}
       }
    });
Run Code Online (Sandbox Code Playgroud)

我的函数获取标志值,

isFeatureEnabled: function (featureFlag, properties) {
        console.log("Before Variation");
        //we shall update the custom properties into user context.
        if (properties) {
            for (var k in properties) {
                userContext.user.custom[k] = properties[k];
            }
        }
        //later make the identity call to update the user details.
        client.identify(userContext.user, null, function () { /*rules updated*/
            console.log("New user's flags available");
            //validate the feature flag
            var showFeature = client.variation(featureFlag);
            if …
Run Code Online (Sandbox Code Playgroud)

javascript launchdarkly

2
推荐指数
1
解决办法
345
查看次数

Ziparchive:如何从 ziparchive 关闭创建的条目

我编写了如下方法来将多个 Memorystream 绑定到 ziparchive。该代码适用于一个流,但如果我通过迭代添加多个流,则它会在 for 循环的第二行中显示以下错误。

 System.IO.IOException: 'Entries cannot be created 
 while previously created entries are still open.' 
Run Code Online (Sandbox Code Playgroud)

我的代码,

 using (var zip = new ZipArchive(outputStream, ZipArchiveMode.Create, 
 leaveOpen: false))
  {

        for (int i = 0; i < msList.Count; i++)
        {
          msList[i].Position = 0;
         var createenter = zip.CreateEntry("123"+i+".jpg", 
         CompressionLevel.Optimal);
         msList[i].CopyTo(createenter.Open());

         }
   }
Run Code Online (Sandbox Code Playgroud)

c# memorystream ziparchive

1
推荐指数
1
解决办法
2602
查看次数

Web API:单独下载多个文件

我有一个 Web Api 控制器方法,可以获取传递的文档 ID,并且它应该为这些请求的 ID 单独返回文档文件。我已尝试通过以下链接接受的答案来实现此功能,但它不起作用。我不知道我哪里做错了。

从单个 WebApi 方法提供多个二进制文件的最佳方法是什么?

我的 Web Api 方法,

   public async Task<HttpResponseMessage> DownloadMultiDocumentAsync( 
             IClaimedUser user, string documentId)
    {
        List<long> docIds = documentId.Split(',').Select(long.Parse).ToList();
        List<Document> documentList = coreDataContext.Documents.Where(d => docIds.Contains(d.DocumentId) && d.IsActive).ToList();

        var content = new MultipartContent();
        CloudBlockBlob blob = null;

        var container = GetBlobClient(tenantInfo);
        var directory = container.GetDirectoryReference(
            string.Format(DirectoryNameConfigValue, tenantInfo.TenantId.ToString(), documentList[0].ProjectId));

        for (int docId = 0; docId < documentList.Count; docId++)
        {
            blob = directory.GetBlockBlobReference(DocumentNameConfigValue + documentList[docId].DocumentId);
            if (!blob.Exists()) continue;

            MemoryStream memStream = new MemoryStream();
            await blob.DownloadToStreamAsync(memStream); …
Run Code Online (Sandbox Code Playgroud)

c# web-applications azure asp.net-web-api2 httpresponsemessage

1
推荐指数
1
解决办法
1万
查看次数

使用 .Net Core API 从 Azure Blob 存储异步流式传输视频

我发现了一堆示例,这些示例使用了我在应用程序中不可用的对象,并且似乎与我的 .NET Core Web API 版本不匹配。本质上,我正在开发一个项目,该项目在网页上有标签,并希望使用服务器中的流加载视频,而不是通过路径直接提供文件。原因之一是文件的来源可能会发生变化,并且通过路径提供它们并不是我的客户想要的。所以我需要能够打开流并异步写入视频文件。

由于某种原因,这会生成 JSON 数据,因此这是错误的。我正在从 Azure Blob 存储下载视频文件并作为流返回,但我只是不明白需要做什么才能将流式视频文件发送到 HTML 中的标记。

我的 API 控制器,

[AllowAnonymous]
    [HttpGet("getintroductoryvideos")]
    public async Task<Stream> GetIntroductoryVideos()
    {
        try
        {
            return  _documentsService.WriteContentToStream().Result;
        }
        catch (Exception ex)
        {
            throw ex;
        }
    }
Run Code Online (Sandbox Code Playgroud)

我的服务班,

 public async Task<Stream> WriteContentToStream()
    {
        var cloudBlob = await _blobService.GetBlobAsync(PlatformServiceConstants._blobIntroductoryVideoContainerPath + PlatformServiceConstants.IntroductoryVideo1, introductoryvideocontainerName);
        await cloudBlob.FetchAttributesAsync();

        var fileStream = new MemoryStream();
        await cloudBlob.DownloadToStreamAsync(fileStream);
        return fileStream;
    }
Run Code Online (Sandbox Code Playgroud)

c# azure html5-video azure-blob-storage asp.net-core-webapi

1
推荐指数
2
解决办法
4015
查看次数