我写了一个测试类,如下所示
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) 我创建了一个基于 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) 我有一个跟随的模型类
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#中为我的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或如何让这个测试通过?
请任何人帮忙
我正在寻找一种在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中做到这一点。请任何人帮助。
我是我的新项目,他们在项目中使用Entity Framework和LINQ来操作数据库数据.在这里,我无法理解为什么在以下查询中的get()方法之后使用问号(?).是否可以使用(?)标记,如下所示?如果是,那么请你详细解释一下.
uOW.ApplicationDetailsRepository.Get()?
.Where (x=>x.Name=="SomeConditions").Tolist();
Run Code Online (Sandbox Code Playgroud) 我正在设置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) 我编写了如下方法来将多个 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) 我有一个 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
我发现了一堆示例,这些示例使用了我在应用程序中不可用的对象,并且似乎与我的 .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# ×7
azure ×2
linq ×2
.net-5 ×1
.net-core ×1
asp.net-mvc ×1
group-by ×1
html5-video ×1
java ×1
javascript ×1
junit ×1
launchdarkly ×1
max ×1
memorystream ×1
model ×1
moq ×1
nunit ×1
oracle ×1
parameters ×1
ziparchive ×1