精华内容
下载资源
问答
  • mockito三种用法记录

    2021-01-14 17:23:24
    /*** * @Type ...@RunWith(SpringRunner.class) @Slf4j @SpringBootTest public class CommonManagerTest { @InjectMocks//要测试的类 private CommonManager commonManager = new CommonManag..
    
    /***
     * @Type
     * @Desc
     * @Author Cristal
     * @Date 2020/12/30 11:42
     * @Version 1.0
     */
    @RunWith(SpringRunner.class)
    @Slf4j
    @SpringBootTest
    public class CommonManagerTest {
        @InjectMocks//要测试的类
        private CommonManager commonManager = new CommonManagerImpl();
        @MockBean//测试的类依赖或使用到的类
        private DataMapper DataMapper;
        
    
        @Before
        public void setUp() {
            MockitoAnnotations.initMocks(this);
        }
    
        @Mock
        private ValueOperations<String, String> valueOperations;
        @MockBean
        private StringRedisTemplate stringRedisTemplate;
    
        @Test
        public void testGetMachineLastDate() {
            Mockito.when(stringRedisTemplate.opsForValue()).thenReturn(valueOperations);//redisTemplate写法
            Mockito.doReturn(new Data()).when(DataMapper).selectOne(Mockito.any(Wrapper.class));//有结果返回写法
            commonManager.getDataByDate(LocalDateTime.now());
            Mockito.doReturn(null).when(DataMapper).selectOne(Mockito.any(Wrapper.class));
            commonManager.getDataByDate(LocalDateTime.now());
            Mockito.doReturn(null).when(DataMapper).selectOne(Mockito.any(Wrapper.class));
            Mockito.doThrow(new Exception("namederror")).when(DataMapper).selectOne(any());//抛出异常写法
    
        }
    
    
    }
    
    
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-test</artifactId>
        <scope>test</scope>
    </dependency>

    上面这个maven里就有mockito,不用另外依赖

    展开全文
  • Python中as的三种用法

    万次阅读 多人点赞 2019-06-28 10:42:31
    第一是和with结合使用,主要用于文件的读写操作,省去了关闭文件的麻烦。 写法: with open("文件路径","读写方式") as 赋值变量: 执行代码块 实例: #test.py with open("1.txt") as f: print f.read() ...

    1.with...as...

    第一种是和with结合使用,主要用于文件的读写操作,省去了关闭文件的麻烦。

    写法:

    with open("文件路径","读写方式") as 赋值变量:
        执行代码块

    实例:

    #test.py
    with open("1.txt") as f:
        print f.read()
    
    #1.txt(两个文件在同一目录下)
    你用的什么编程语言?
    Python

    运行结果:

    2.导入模块起别名

    第二种是导入模块是对模块进行重命名,也就是给模块起一个别名。

    3.except结合使用

    第三种是和except组合使用,将捕获到的异常对象赋值给e。

    第二种和第三种的实例代码:

    #第二种,给traceback起别名为a
    import traceback as a
    try:
        while 1/0 < 0:
            print True
    #第三种,将异常赋值给e
    except Exception as e:
        print "e=",e
        a.print_exc()

     

    展开全文
  • [转]Moc的三种用法

    2013-02-26 17:46:13
    (原文地址:https://code.google.com/p/qextserialport/wiki/Three_Usage_Of_MOC) Three_Usage_Of_MOC Updated Jan 30, 2013 by dbzhang...@... All the developers of Qt should have been familiar with nor...
    (原文地址:https://code.google.com/p/qextserialport/wiki/Three_Usage_Of_MOC)
    Three_Usage_Of_MOC
    Updated Jan 30, 2013 by dbzhang...@gmail.com
    All the developers of Qt should have been familiar with normal usage of MOC.

    How to use moc(1)
    Consider that we have a Qt project, which contains a subclass of QObject, and the definition of the class is in a header file.
    // myclass.h
    class MyClass : public QObject
    {
    Q_OBJECT
    public:
    MyClass();
    };
    When qmake is running, once it find macro Q_OBJECT in header file, it will call moc for us.
    moc myclass.h -o moc_myclass.cpp
    As moc_myclass.cpp is a compile unit, so qmake will run compiler to compile it, then link the moc_myclass.o(bj) to other part. All of them are transparent for users.
    g++ moc_myclass.cpp -o moc_myclass.o
    How to use moc(2)
    What will happen if the definition of the class located in one .cpp source file?
    // main.cpp
    class MyClass : public QObject
    {
    Q_OBJECT
    public:
    MyClass(){}
    };

    int main(int argc, char**argv)
    {
    ...
    }
    When qmake is running, once it find macro Q_OBJECT in source file, it will call moc for us too.
    moc main.cpp -o main.moc
    Then what's the difference?
    main.moc is not a compile unit any, as it will dependent on the definition of class MyClass.So it can not include the file "main.cpp".
    # This will fail ....
    g++ main.moc -o main_moc.o
    How to solve this?
    //Add following line to main.cpp file, after the definition of MyClass
    #include "main.moc"
    How to use moc(3)
    If you have read the source code of qextserialport, you will find that

    QextSerialPort defined in the header file qextserialport.h
    But qextserialport.cpp contains following line
    #include "moc_qextserialport.cpp"
    So, when qmake is running, once it find macro Q_OBJECT in header file, it will call moc for us.
    moc myclass.h -o moc_myclass.cpp
    But, why we include "moc_qextserialport.cpp" manully?
    In order to move private data member and private slots to non-public files, d-pointer and Q_PRIVATE_SLOT are used.

    So the generated moc_qextserialport.cpp is dependent on non-public files will make it can not be compiled as a compile unit.

    # This doesn't work any more ;-)
    g++ moc_qextserialport.cpp -o moc_qextserialport.o
    why both moc_xxx.cpp and xxx.moc exist?
    In same cases, both myclass.h and myclass.cpp may have Q_OBJECT

    // myclass.h
    class MyClass : public QObject
    {
    Q_OBJECT
    public:
    MyClass();
    };
    // myclass.cpp
    class MyClassHelper : public QObject
    {
    Q_OBJECT
    public:
    MyClassHelper();
    };

    MyClass::MyClass()
    {
    }
    ...
    In such cases, moc will generated two files for us

    moc myclass.h -o moc_myclass.cpp
    moc myclass.cpp -o myclass.moc
    展开全文
  • Python中with用法及原理 对于Python中的with,一直只是知道使用with可以在使用文件后自动关闭,防止可能出现的忘记关闭文件而导致的内存占用的问题,所以一直是推荐使用with去做一个打开文件的。但是对于with的...

    Python中with的用法及原理

    对于Python中的with,一直只是知道使用with可以在使用文件后自动关闭,防止可能出现的忘记关闭文件而导致的内存占用的问题,所以一直是推荐使用with去做一个打开文件的。但是对于with的底层实现原理还不甚了解,其实之前读过Python的官方手册,大概还是遗漏了很多底层的实现细节,于是又查了一些资料来。

    首先with的定义应该是,有一些任务,可能事先需要设置,事后做清理工作。对于这种场景,Python的with语句提供了一种非常方便的处理方式。一个很好的例子是文件处理,你需要获取一个文件句柄,从文件中读取数据,然后关闭文件句柄。with 语句适用于对资源进行访问的场合,确保不管使用过程中是否发生异常都会执行必要的“清理”操作,释放资源,比如文件使用后自动关闭/线程中锁的自动获取和释放等。

    如果直接打开一个文件:

    f =open("test.txt")
    data = f.read()
    f.close()
    

    可能存在的问题是,可能会忘记关闭文件,或者读取文件发生异常没有进行处理。

    如果使用with的话:

    with open("/tmp/test.txt") as f:
        data = f.read()
    

    不仅更加优雅还解决了以上问题。

    下面就是之前缺失的知识点了。

    with如何工作?

    紧跟with后面的语句被求值后,返回对象的 enter() 方法被调用,这个方法的返回值将被赋值给as后面的变量。
    当with后面的代码块全部被执行完之后,将调用前面返回对象的 exit()方法。

    下面是一段例子:

    #!/usr/bin/env python
    # with_example01.py
    class Sample:
        def __enter__(self):
            print "In __enter__()"
            return "Foo"
        def __exit__(self, type, value, trace):
            print "In __exit__()"
    def get_sample():
        return Sample()
    with get_sample() as sample:
        print "sample:", sample
    
    1. enter()方法被执行
    2. enter()方法返回的值 - 这个例子中是”Foo”,赋值给变量’sample’
    3. 执行代码块,打印变量”sample”的值为 “Foo”
    4. exit()方法被调用 with真正强大之处是它可以处理异常。

    实际上,在with后面的代码块抛出任何异常时,exit() 方法被执行。正如例子所示,异常抛出时,与之关联的type,value和stack trace传给 exit() 方法,因此抛出的ZeroDivisionError异常被打印出来了。开发库时,清理资源,关闭文件等等操作,都可以放在 exit 方法当中。

    另外,exit 除了用于tear things down,还可以进行异常的监控和处理,注意后几个参数。要跳过一个异常,只需要返回该函数True即可。

    还要加深对魔术方法和设计模式的理解,加油!

    感谢以下文章对我学习过程中的帮助:

    python的with用法

    展开全文
  • 1. else的三种搭配 if else whlie/for else try except else 1.1 if else if 2 > 1: print('2>1') else : print('hh') 1.2 whlie/for else 如果循环全部执行结束,中间没有跳出(break)语句,执行...
  • 上次跟大家分享了下简单实用SQL脚本用法(一)的相关知识,今天跟大家分享简单实用SQL脚本...十二.count的几种情况--第一种select count(*) from tablename--第二种select count(ID) from tablename--第三种,1换成其...
  • Oracle Start With用法

    2019-05-09 21:20:03
    Start With (树查询) 问题描述: 在数据库中, 有一比较常见得 设计模式, 层级结构 设计模式, 具体到 Oracle table中, 字段特点如下: ID, DSC, PID; 个字段, 分别表示 当前标识的 ID(主键), DSC 当前标识的描述, ...
  • python的else和with用法

    2019-10-24 18:19:04
    python中else一共有三种用法: 1.if...else; (如果满足条件就。。。否则。。。) for/while...else; (如果循环顺利执行,就执行else) try...except...else;(如果try里面没有异常,就执行else) 2.python...
  • 本文主要介绍了Java中Exception和Error的差别,介绍了Exception的相关知识点,并且分别介绍了使用try catch,try catch catch,try catch finally,以及try with resources来捕获异常的方法。
  • scala中sorted,sortWith,sortBy用法详解

    万次阅读 2017-07-23 23:07:51
    scala的集合中提供了三种排序的方式:sorted,sortWith,sortBy。那么这三种方式有什么不同呢?下面我们结合源码来分析一下1.sorted先来看看scala中sorted的源码。 def sorted[B >: A](implicit ord: Ordering[B]): ...
  • 在Flutter中,有如下三种关系: 继承(关键字 extends) 混入 mixins (关键字 with) 接口实现(关键字 implements) 这三种关系可以同时存在,但是有前后顺序: extends -> mixins -> implements ...
  • scala中sorted,sortWith,sortBy用法详解 2017年07月23日 23:07:51 bitcarmanlee 阅读数:9249 版权声明:本文为博主原创文章,未经博主允许不得转载。...scala的集合中提供了三种排序的方式:sorted,sortWit...
  • 在Flutter中,有如下三种关系: 继承(关键字 extends) 混入 mixins (关键字 with) 接口实现(关键字 implements) 这三种关系可以同时存在,但是有前后顺序: extends -&gt; mixins -&gt; implements ...
  • 文件打开方式当我们用open()函数去打开文件的时候,有好几打开的模式。'r'->只读'w'->只写,文件已存在则清空,不存在则创建。'a'->追加,写到文件末尾'b'->二进制模式,比如打开图像、音频、word文件。'+'->更新...
  • scala的集合中提供了三种排序的方式:sorted,sortWith,sortBy。那么这三种方式有什么不同呢。下面我们结合源码来分析一下 1.sorted 先来看看scala中sorted的源码。 def sorted[B &gt;: A](implicit ord: ...
  • 一,概述 ...这三种关系可以同时存在,但是有前后顺序: extends -> mixins -> implements extens在前,mixins在中间,implements最后 二,继承(extends) Flutter中的继承和Jav...
  • 先看看三种线程的区别 #pragma mark - NSThread 自己的笔记 线程的基本使用 [NSThread detachNewThreadSelector:@selector(threadMain1:) toTarget:self withObject:@(20)];//detach派遣  NSThread...
  • “CSV”并不是一单一的、定义明确的格式(尽管RFC 4180有一个被通常使用的定义)。因此在实践中,术语“CSV”泛指具有以下特征的任何文件: 1.纯文本,使用某个字符集,比如ASCII、Unicode、EBCDIC或GB2312; 2.由...
  • python杂七杂八的用法

    2017-07-16 19:50:00
    1.strip三种用法 name = '*egon**' print(name.strip('*')) print(name.lstrip('*')) #左边 print(name.rstrip('*')) #右边 2.startswith,endswith endswith:方法用于判断字符串是否以指定后缀结尾,...
  • 在python中读取文件常用的三种方法:f.read(), f.readline(), f.readlines() 假设python.txt的内容如下所示: Python Hello I am fine 1.read([size])方法 read([size])方法从文件当前位置起读取size个字节,若无...
  • //1️⃣三种三种跟直接调用方法没有区别,同步执行任务,阻塞当前线程。执行完sel再继续执行原来任务 [self performSelector:sel]; [self performSelector:sel withObject:nil]; [self performSelector:sel ...
  • 三种文件读取方式。按行读取文件、按行读取并跳过某些行、一次读取文件。后续继续增加其他用法。 def read_file_by_line(file): """ 按行读取,遇到空行退出 """ with open(file, mode='r', encoding='utf8') as f...
  • python Day9 else 和with

    2019-10-31 22:19:14
    python中else一共有三种用法: 1.if…else; (如果满足条件就。。。否则。。。) for/while…else; (如果循环顺利执行,就执行else) try…except…else;(如果try里面没有异常,就执行else) 2.python 中for/while...
  • Python-Task9 else 与 ...这是小结式的一次内容,主要是总结了else语句的三种不同用法,以及with语句的含义 else语句 在python中else语句除了和if搭配使用外,还有其他用途 要么怎样,要么不怎么样 。if语句 a=[1,...
  • 1、创建方式有三种: (1)、直接创建 autoblocks = Scale9Sprite::create("blocks9.png", Rect(0, 0, 96, 96), Rect(32, 32, 32, 32)); (2)、使用createWithSpriteFrameName创建 autoblocks_with_insets=Scale9...
  • Unity shader with lightmap

    2017-01-11 09:04:00
    小记一下用法与问题,时更 surface shader就不用操心了,自带lightmap...Unity5 bake light map有三种情况: 1.Non-directional 2.directional 3.directional specular Non-directional 这种计算最为...
  • 首先,再次介绍这三种方法的概述:locgets rows (or columns) with particularlabelsfrom the index. loc从索引中获取具有特定标签的行(或列)。ilocgets rows (or columns) at particularpositionsin the ...

空空如也

空空如也

1 2 3 4 5 ... 7
收藏数 132
精华内容 52
关键字:

with三种用法