小编Pia*_*hal的帖子

HEAP 错误 指定给 RtlValidateHeap 的地址无效

我有记忆问题。我以这种方式使用结构:

包.h文件

#pragma once
#include <cstdlib>

struct Package {
    char *data;
    long long int *packageNumber;
    long long int *allPackages;

    Package(const int sizeOfData);
    ~Package();
};
Run Code Online (Sandbox Code Playgroud)

包.cpp

#include "Package.h"

Package::Package(const int sizeOfData) {
    void *ptr = malloc(2 * sizeof(long long int) + sizeOfData * sizeof(char));
    packageNumber = (long long int*) ptr;
    allPackages = (long long int*) ((long long int*)ptr + sizeof(long long int));
    data = (char*)((char*)ptr + 2 * sizeof(long long int));
}

Package::~Package() {
    free(data);
    free(packageNumber);
    free(allPackages);
}
Run Code Online (Sandbox Code Playgroud)

并在方法中:

for (int …
Run Code Online (Sandbox Code Playgroud)

c++ struct memory-management memory-pool

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

symfony4命令测试中的模拟服务

我的命令测试有问题。我正在尝试在命令测试中模拟服务,但存在一个问题,即该模拟未在测试中使用。

以下是命令代码:

public function __construct(RpcClient $rpcClient, LoggerInterface $logger, EntityManagerInterface $entityManager)
{
    $this->rpcClient = $rpcClient;
    $this->logger = $logger;
    $this->entityManager = $entityManager;

    parent::__construct();
}

protected function execute(InputInterface $input, OutputInterface $output)
{
    $apiSecurityKey = $this->getContainer()->getParameter('api_security_key');
    try {
        $apiBoxesData = $this->rpcClient->callJsonRPCPostMethod("stations_info", ["apiSecurityKey" => $apiSecurityKey]); 
.
.
.
Run Code Online (Sandbox Code Playgroud)

并测试:

//some of dependencies used
use Symfony\Bundle\FrameworkBundle\Console\Application;
use Symfony\Bundle\FrameworkBundle\Test\KernelTestCase;
use Symfony\Component\Console\Tester\CommandTester;

class SynchronizeBoxInfoCommandTest extends KernelTestCase
{

const SYNCHRONIZE_BOX_INFO_COMMAND_NAME = "app:synchronize-box-info";

public function setUp()
{
    parent::setUp();

    static::$kernel = static::createKernel();
    static::$kernel->boot();

    $application = new Application(static::$kernel);

    $this->command = $application->find(self::SYNCHRONIZE_BOX_INFO_COMMAND_NAME);
    $this->command->setApplication($application); …
Run Code Online (Sandbox Code Playgroud)

service unit-testing dependency-injection mocking symfony4

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