小言_互联网的博客

交易类的python例子

319人阅读  评论(0)

# 交易类 
class Trade:

    # 默认构造函数
    def __init__(self,date, brand,model,num,costprice,sellingprice,remark): 
        self.date=date
        self.brand=brand
        self.model=model
        self.num=num
        self.costprice=costprice
        self.sellingprice=sellingprice
        self.remark=remark

    # 打印函数
    def printTrade(self):
        print("日期:%s , 品牌:%s, 型号:%s, 数量:%s, 成本价:%.2f, 销售价:%.2f, 备注:%s" 
              % (self.date,self.brand,self.model,self.num,self.costprice,self.sellingprice,self.remark))


# 仓库类,存储交易信息
class StoreHouse:
    
    max_size=100
    # 构造函数 
    def __init__(self): 
        self.trades=[None]*StoreHouse.max_size
        self.pos=-1
    
    # 入库函数 
    def intoStoreHouse(self,trade): 
        # 如果仓库满了报错
        if len(self.trades)-1 == StoreHouse.max_size: 
            return "storehouse is full"
        self.pos+=1
        self.trades[self.pos]=trade

    # 打印函数 
    def printStoreHouse(self):
        for i in range(self.pos+1):
            self.trades[i].printTrade()


# 管理类,把库存信息成本和总收入及利润计算出来
class Manager: 

    # 构造函数
    def __init__(self):
        self.cost=0
        self.income=0
        self.profit=0

    # 入口设为仓库类
    def getCostAndIncome(self,storeHouse):
        for i in range(storeHouse.pos+1):
            self.cost+=(storeHouse.trades[i].num)*(storeHouse.trades[i].costprice)
            self.income+=(storeHouse.trades[i].num)*(storeHouse.trades[i].sellingprice)
            self.profit=self.income-self.cost

    # 打印显示
    def printManger(self):
        print("总成本:%.2f 元, 总收入:%.2f 元, 净利润:%.2f 元"
              % (self.cost,self.income,self.profit))

# 测试
if __name__ == "__main__":
    storeHouse=StoreHouse()
    # 增加交易
    storeHouse.intoStoreHouse(Trade("2020-1-1", "苹果", "iPhone11", 3, 4500.00, 5700.00, "新品"))
    storeHouse.intoStoreHouse(Trade("2020-2-2", "华为", "Mate30", 2, 4000.00, 5300.00, "新品"))
    storeHouse.intoStoreHouse(Trade("2020-3-3", "三星", "S20", 4, 5200.00, 6200.00, "新品"))

    # 打印交易
    storeHouse.printStoreHouse()
    manager=Manager()
    manager.getCostAndIncome()

## BDD开发原理
### 1. 定义功能:
BDD是一种测试框架,其原理是使用描述性文件定义其性能,使用自然语言来描绘功能及其行为。

### 2. 编写BDD测试脚本:
BDD的例子:

```
@login 
Feature: Login 
Scenario: 在登录页面输入有效用户名和密码,可登录成功
Given 用户访问登录页
When 用户输入有效的用户名和密码
Then 登录成功
```

## Allure Report

### 1. 安装
为了使用Allure,首先需要在工程中安装Allure。

### 2. 生成报表
在运行完`BDD`脚本之后,生成`Allure`报表:
```
pytest --alluredir reports
```

### 3. 渲染报表
最后,使用Allure命令渲染报表:
```
allure serve reports
```


转载:https://blog.csdn.net/keny88888/article/details/128206236
查看评论
* 以上用户言论只代表其个人观点,不代表本网站的观点或立场